1. import 无法找到文件
在protobuf文件编辑过程中,import语句可能无法找到文件路径导致报红,其实,我们直接就import “xxx.proto” 文件就好了,忽略它的变红。然后,重点是在使用protoc命令生成go文件的时候,添加proto文件的查找路径:
protoc -I ./proto2 -I . --go_out=plugins=grpc:. proto/helloworld.proto
2. 添加查找路径之后protoc命令报错
protoc -I ./proto2 --go_out=plugins=grpc:. proto/helloworld.proto
proto/helloworld.proto: File does not reside within any path specified using --proto_path (or -I). You must specify a --proto_path which encompasses this file. Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it's harder than you think).
这是由于,增加了-I或者–proto_path后,protoc不在当前目录寻找proto文件了,所以proto文件找不见了。解决办法,将当前目录也添加到命令查找路径即可: -I .
。请参考上面第一点。
参考:
https://blog.csdn.net/qq2252852775/article/details/121530011
https://www.freesion.com/article/6058595129/
网友评论