Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
github官方文档中提到:
9. Important notes 重点:
Use grpc 1.29.1, because etcd lib doesn’t support latter versions.
google.golang.org/grpc v1.29.1
For protobuf compatibility, use protocol-gen@v1.3.2.
为了protobuf的兼容性,请使用1.3.2
猜测:go-zero的goctl里面使用的是1.3.2来自动生成代码的。(zrpc本质基于grpc),所以这部分比较死板。(自动生成很方便,也有代价)
go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.2
userClient这个单词的由来
② call 层文件夹名称取自于proto中service的名称,如该sercice的名称和pb文件夹名称相等,则会在srervice后面补充client进行区分,使pb和call分隔。
解决办法:
1、按照官方使用protobuf 1.3.2
注意:proto文件中不需要写 option go_package这个选项。
2、使用最新的protobuf
这种用法它不会在重名后自动加 client这种必须写go_package选项格式:
package user;
option go_package = “./userclient”;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)