<代码>协议--gogofaster\u out=。形象协议
我收到此错误消息
/主页/abc/src/github。com/gogo/protobuf/gogoproto/gogo。proto:找不到文件。
形象proto:Import“/主页/abc/src/github.com/gogo/protobuf/gogoproto/gogo.proto”未找到或有错误。
文件肯定在那里。我可以从错误中报告的路径访问它。
我的proto文件如下所示:
package image;
import "/home/abc/src/github.com/gogo/protobuf/gogoproto/gogo.proto";
message Frame {
required bool fragment = 1;
required int32 fragmentID = 2;
required bool lastFragment = 3;
required bytes data = 4;
}
我在proto文件所在的目录中有一个Makefile。如下所示:
regenerate:
--proto_path=../../github.com/gogo/protobuf/gogoproto:../../github.com/gogo/protobuf/protobuf/google/protobuf:. --gogofaster_out=. *.proto
如何解决路径错误?
您需要指定gogo。使用proto-path参数搜索导入的proto目录。
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
path/to/your/target/protofile --proto_path=$GOPATH/src/ --proto_path=.
Makefile命令应为:
regenerate:
protoc-min-version --version="3.0.0" \
--proto_path=$(GOPATH)/src/image \
-I vendor/github.com/gogo/protobuf/protobuf \
-I vendor/github.com/gogo/protobuf/protobuf/google/protobuf \
-I. --gogo_out=. *.proto
这里,--pro_path和-是相同的。
如果绝对路径包含变量,那么模式应该是:
-I=${path_variable}/a/sample \
-I=${path_variable}/b/sample \
希望这可以帮助别人!
与本期一样,您可以尝试仅导入相对路径:
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
首先确保将“GOPATH”(GOPATH)设置为“home”(主页)或“abc”(abc)。
我提到protobuf PR 241,其中makefile定义了要使用的路径:
regenerate:
protoc-min-version --version="3.0.0"
--proto_path=$(GOPATH)/src/image:
$(GOPATH)/src/github.com/gogo/protobuf/protobuf:
$(GOPATH)/src/github.com/gogo/protobuf/protobuf/google/protobuf:
. --gogo_out=. *.proto
OP提到了这条线索,指出:
这些依赖项在“google/protobuf/
”中调用其他依赖项,因此这些依赖项也需要正确地位于路径中<这些错误很容易让人误解
使用gogoproto扩展时,还应使用gogofast\u outgofast\u out
仅适用于不使用任何扩展,但需要额外速度的情况gogofast\u out
/gofast\u out
没有副作用
<代码>gogofaster\u out使大多数字段可为空=false。
我的原始文件使用默认的谷歌协议缓冲区类型,如结构和时间戳。 使用默认的gradle协议集成,gradle输出错误,因为它无法解决导入: google/protobuf/struct。proto:找不到文件。 google/protobuf/timestamp。proto:找不到文件。 替换默认的gradle协议块 其中一个指定protoc的位置 修复了该问题,但它不可移植。 是否有任何jar依赖项
我一直在尝试运行以下命令 获取以下错误 github。com/x/customValidation/validators。proto:找不到文件。test\u服务器/测试。proto:5:1:Import“github.com/x/customValidation/validators.proto”未找到或有错误。 我可以看到原始文件在这个位置- 我还尝试了使用--proto\u path命令,但
我正在得到。在下面的命令中找不到proto File错误 输出:以下错误是protoc失败。 Edit1:下面是test1.proto文件。这里第7行有validator.proto导入
我试图对Apache Kafka 2.5设置mongo-kafka连接器。我使用的是Kafka-原型连接器。 我为这个原型建立了一个jar文件,并放在插件路径中。但我得到以下错误。 我的Pom文件: Mongo接收器配置: 我得到以下错误: 组织。阿帕奇。Kafka。连接错误。ConnectException:原型类kafka。消息在com的类路径中找不到ExchangeMessage$Order
我已经在Ubuntu11.10x64上通过源代码编译安装了最新的node.js(0.8.15)。
无法弄清楚为什么我得到一个文件未找到错误,当我运行一个协议命令来生成相关的go文件。 问题:在尝试从不同目录导入原型文件时,试图找出合适的原型命令是什么。我在GoLand中将原型路径设置为 结构 歌曲原型 Search.proto 创建文件: 错误: