別のディレクトリから.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は2つのパス(例:絶対パスと相対パス)が同等である場合を理解するのが困難です(想像より難しいです)。
エラーは私には十分にはっきりしているようです、それはあなたがB.protoがある正確なディレクトリを指定する必要があることを言っています
protoc B.proto --go_out=. --proto_path=$GOPATH/src/B
または、すでにフォルダBにいる場合は、
protoc B.proto --go_out=.
プロトックな連中はおもしろい思ったより難しい !!!笑、なぜ私は「それが彼女の言ったことだ!」と言う欲求と闘っているのです。笑