文件不在使用proto_path指定的任何路径中

我正在测试从另一个目录导入.proto文件。

syntax = "proto3"; 

package A;

message SomeMsg {

string msg = 2;

int64 id = 3;

}

syntax = "proto3"; 

package B; import "A/A.proto";

message Msg {

SomeMsg s = 1;

}

我正在这样做:在文件夹A中:

protoc A.proto --go_out=.

然后在文件夹B中:

protoc B.proto --go_out=. --proto_path=$GOPATH/

但是我会得到这个错误:

B.proto:文件不位于使用–proto_path(或-I)指定的任何路径内。您必须指定包含此文件的–

proto_path。请注意,proto_path必须是.proto文件名的精确前缀-

protoc太笨拙,无法确定两个路径(例如绝对路径和相对路径)是否相等(这比您想象的要难得多)。

回答:

错误对我来说似乎足够清楚,它表明您需要指定B.proto所在的确切目录

protoc B.proto --go_out=. --proto_path=$GOPATH/src/B

或者如果您已经在文件夹B中,

protoc B.proto --go_out=.

以上是 文件不在使用proto_path指定的任何路径中 的全部内容, 来源链接: utcz.com/qa/413010.html

回到顶部