protoc-gen-go: program not found or is not executable
我正在尝试使用go grpc构建示例应用程序,但无法使用" protoc"生成代码
已使用以下方法安装了所需的库/运行包:
尝试设置路径,但没有运气。
样本"原型"文件:
1 2 3 4 5 6 | syntax ="proto3"; package greet; option go_package="greetpb"; service GreetService{} |
错误信息:
" protoc-gen-go:找不到程序或不可执行
--go_out:protoc-gen-go:插件失败,状态码为1。
有两种安装protobuf编译器的方法,如果您使用的是Ubuntu,则可以使用此方法,
1 | sudo apt install protobuf-compiler |
那当然是标准方法
1 | go get -u github.com/golang/protobuf/{proto,protoc-gen-go} |
在这里,它只是添加路径。假设您安装Go时是这样做的,
1 2 | echo 'export GOPATH=$HOME/Go' >> $HOME/.bashrc source $HOME/.bashrc |
现在您可以扩展它,
1 2 | echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc source $HOME/.bashrc |
奇怪的是,
通过以下步骤解决:
使用以下命令安装go库:
去获取-u github.com/golang/protobuf/{proto,protoc-gen-go}
1 2 | export GO_PATH=~/go export PATH=$PATH:/$GO_PATH/bin |
参考:无法构建protobuf进入端点
从github仓库开始,这个解决方案对我有用。
Go版本为
将此添加到
1 2 3 4 | export GOROOT=/usr/local/go export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOROOT:$GOPATH:$GOBIN |
https://github.com/golang/protobuf/issues/795
他们在上面评论说,必须添加以下软件包
1 | sudo apt install protobuf-compiler |
就我而言,我还必须添加此..
1 | sudo apt install golang-goprotobuf-devc |
确保在
如果为空,请尝试如下
1 2 3 | export GOPATH=$HOME/go PATH=$PATH:$GOPATH/bin protoc --go_out=plugins=grpc:. *.proto |