环境配置如下:
(1)M1 Mac mini
(2)GoLand 2022.2.2
(3)插件Protocol Buffers版本 222.3739.57
(4)protoc version:3.21.12
(5)protoc-gen-go@v1.28
(6)protoc-gen-go-grpc@v1.2
1、如果给 base.proto 也增加一句 “option go_package = "./;proto";”,
此时执行:
$ protoc --go_out=. --go-grpc_out=require_unimplemented_servers=false:. hello.proto
或
$ protoc --proto_path=. --go_out=. --go-grpc_out=require_unimplemented_servers=false:. hello.proto
或
$ protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
hello.proto
不会报错,但是生成的 hello.pb.go 文件有报错,和问题截图标注的错误一样;
【这个语句参考的是官方文档:https://grpc.io/docs/languages/go/quickstart/】

2.1、修改 hello.proto 文件,修改成:import "proto/base.proto";
同时给 base.proto 也增加一句 “option go_package = "./;proto";”
执行(1)中的3个命令,提示信息如下图所示:

2.2、修改 hello.proto 文件,修改成:import "proto/base.proto";
把 base.proto 中的 “option go_package = "./;proto";”去掉,
执行(1)中的3个命令,提示信息如下图所示:

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星