我正在使用 protoc 创建一些 DTO。定义采用以下结构:
/protobuf
|-- common.proto
|-- /api
|-- /service
|-- csvdownload.proto
我的csvdownload.proto样子是这样的:
syntax = "proto3";
package protobuf.api.service;
import "common.proto";
option go_package = ".;service"; // golang
message CsvExportRequest {
Common.Currency exportCurrency = 2;
Common.Decimal rounding = 3;
}
和common.proto看起来像这样的存根:
syntax = "proto3";
package protobuf;
option go_package = ".;gopb"; // golang
我试图通过从目录csvdownload.proto中运行以下命令来编译:/protobuf
protoc --go_out=gopb --go_opt=paths=source_relative .\api\service\csvdownload.proto
但是,我收到以下错误:
protoc-gen-go:转到包“。” 名称不一致 gopb (common.proto) 和服务 (api/service/csvdownload.proto)
我认为这意味着无法生成代码,因为common.proto并且csvdownload.proto已经声明了不同的包,但我不确定这是否会有所作为,并且根据我对 Protobuf 工作原理的理解,它不应该妨碍我的编译能力csvdownload.proto。我在这里做错了什么?
处理此问题的任何帮助将不胜感激。
慕森王
相关分类