【发布时间】:2018-07-11 13:52:25
【问题描述】:
我正在测试从另一个目录导入 .proto 文件。
$GOPATH/src/A/A.proto
syntax = "proto3";
package A;
message SomeMsg {
string msg = 2;
int64 id = 3;
}
$GOPATH/src/B/B.proto
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 太笨了,无法确定两个路径(例如绝对路径和相对路径)何时相等(这比您想象的要难)。
【问题讨论】:
标签: go protocol-buffers