go version:go版本go1.14 linux / amd64
go version
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输出文件,出现错误
.proto
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.
好的,根据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。
v1.20 protoc-gen-go不支持生成gRPC服务定义。将来,Go gRPC项目将提供一个新的protoc-gen-go- grpc插件来支持gRPC服务的生成。
protoc-gen-go
github.com/golang/protobufprotoc-gen-go 的版本继续支持gRPC,并将在可预见的将来继续支持gRPC。
github.com/golang/protobuf
编辑29/05/2020:
根据github上的Tracking问题,注释中的@Mark更新之后,protoc-gen-go-grpc现已合并。但是,根据同一问题:
protoc-gen-go-grpc
即使合并,它也不会发布(v0.0)并可能更改。我们确实计划增加一个要求,即未实现的服务实现应包含在所有注册的服务中,并使用@neild建议的命令行arg形式的转义填充。