生成Golang grpc +自定义proto对象

时间:2018-02-21 19:32:00

标签: go protocol-buffers grpc

我正在尝试生成一个返回自定义proto对象的gRPC客户端。这是我目前的原型命令

protoc -I.:../ --go_out=plugins=grpc:Muser/messages.proto=github.com/.../.../user:. messages.proto

这是错误 Muser/messages.proto=github.com/.../.../user:./: No such file or directory

但是这个命令:

protoc -I.:../ --go_out=Muser/messages.proto=github.com/.../.../user:. messages.proto

和这一个:

protoc -I.:../ --go_out=plugins=grpc:. messages.proto

完美地工作。问题是当我尝试将plugins:grpc部分与user/messages.proto文件的路径结合使用时。

有任何疑问可能是什么问题?

1 个答案:

答案 0 :(得分:0)

根据这里的protoc文档:https://github.com/golang/protobuf#parameters

  

要将额外参数传递给插件,请使用逗号分隔的参数列表,该列表以冒号分隔输出目录:

所以我相信正确的命令是: protoc -I.:../ --go_out=plugins=grpc,Muser/messages.proto=github.com/.../.../user:. messages.proto