小编典典

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

go

go version:go版本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.

阅读 2949

收藏
2020-07-02

共1个答案

小编典典

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

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

github.com/golang/protobufprotoc-gen-go 的版本继续支持gRPC,并将在可预见的将来继续支持gRPC。

编辑29/05/2020:

根据github上Tracking问题,注释中的@Mark更新之后,protoc-gen-go-grpc现已合并。但是,根据同一问题:

即使合并,它也不会发布(v0.0)并可能更改。我们确实计划增加一个要求,即未实现的服务实现应包含在所有注册的服务中,并使用@neild建议的命令行arg形式的转义填充。

2020-07-02