如何通过插件使用旧版本的 protoc-gen-go

How to use legacy version of protoc-gen-go with plugins

我无法为 grpc 生成 protobuffer 文件

protoc -I=./ --go_out=plugins=grpc:. code/proto/*
--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC

See https://grpc.io/docs/languages/go/quickstart/#regenerate-grpc-code for more information.
make: *** [protoc-gen] Error 1

我不想使用新版本重新生成,因为它不向后兼容,我需要使用可以 运行 与插件

我已经能够使用此命令生成有效代码(不会破坏任何内容)。首先使用 --go-grpc_out 替换之前使用的 grpc 插件,然后使用此标志 require_unimplemented_servers=false 来避免添加额外的方法,如果您使用的是多态性

,该方法可能会破坏您的代码
protoc -I=./ --go-grpc_out=require_unimplemented_servers=false:.  --go_out=.  code/proto/*