从 --go_out=plugins 切换到 -go-grpc_out PATH 问题

And*_*e93 6 go protocol-buffers grpc

我正在尝试设置我的一个较旧的 go/grpc 项目,自上次更改以来大约 4 个月,protoc 和 protoc-gen-go 似乎已经发生了很大变化。

回到过去,我能够使用以下内容生成文件:

protoc --go_out=plugins=grpc:. *.proto
Run Code Online (Sandbox Code Playgroud)

因为它仍然记录在:https : //github.com/golang/protobuf

但是今天尝试运行它会出现以下错误:

--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC
Run Code Online (Sandbox Code Playgroud)

好的,所以我尝试使用 --go-grpc_out 标志,但是:

请使用绝对路径指定程序或确保该程序在您的 PATH 系统变量中可用

我错过了什么?protoc-gen-go 已在路径中注册,正如您在使用旧命令时所看到的那样。

And*_*e93 6

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

protoc-gen-go 的简短 v1.2 不再支持插件。并将被我找不到的 protoc-gen-go-grpc 取代。

但!

github.com/golang/protobuf 版本的 protoc-gen-go-grpc 仍然并将支持插件。