protoc-gen-go-grpc:程序未找到或不可执行

新手上路,请多包涵

go version : go version go1.14 linux/amd64

go.mod

 module [redacted]

go 1.14

require (
    github.com/golang/protobuf v1.4.0-rc.2
    google.golang.org/grpc v1.27.1
    google.golang.org/protobuf v1.20.0 // indirect
)

我正在运行以下命令:

 protoc -I ./src/pbdefs/protos/ --go-grpc_out=. src/pbdefs/protos/*.proto

.proto 文件生成我的 GRPC 输出文件,但出现错误

protoc-gen-go-grpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.

原文由 Ayush Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.8k
2 个回答

好的,刚刚发现,根据 https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.20.0

v1.20 protoc-gen-go 不支持生成gRPC服务定义。未来,gRPC 服务生成将由 Go gRPC 项目提供的新的 protoc-gen-go-grpc 插件支持。

github.com/golang/protobuf 版本的 protoc-gen-go 继续支持 gRPC,并将在可预见的未来继续这样做。

编辑 29/05/2020:

根据@Mark 在评论中的更新,根据 github 上的跟踪问题protoc-gen-go-grpc 现已合并。但是,根据同一问题:

即使进行了此合并,它仍未发布 (v0.0) 并且可能会发生变化。我们确实计划添加一项要求,即所有已注册服务中都包含未实现的服务实现,并按照@neild 的建议以命令行 arg 的形式使用逃生舱口。

原文由 Ayush Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议

缺少的插件已在 https://github.com/grpc/grpc-go 上实现。

下面的命令应该修复它

go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

原文由 irzhy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题