协议未在 proto_path 中找到内容

protoc not finding things in proto_path

我发现 protoc 似乎没有找到 proto_path 上的东西,尽管它们存在:

$ protoc --proto_path=protobufs/protobufs \
    --go_out=plugins=grpc:/home/me/go/src somefolder/enums.proto
somefolder/enums.proto: No such file or directory
$ ls protobufs/protobufs/somefolder/enums.proto 
protobufs/protobufs/somefolder/enums.proto

为什么会发生这种情况?这似乎不会发生在其他人身上。我正在使用 Ubuntu 18.04,protoc --version 表示 libprotoc 3.0.0

你能试试这个命令吗?

protoc --proto_path=protobufs/protobufs \
    --go_out=plugins=grpc:/home/me/go/src \
    protobufs/protobufs/somefolder/enums.proto 

proto_path 参数用于告诉 protoc 它应该在哪里寻找导入原型文件。