gpt4 book ai didi

go - 导入 proto 文件并编译

转载 作者:行者123 更新时间:2023-12-01 22:26:18 26 4
gpt4 key购买 nike

我在以下目录中有两个原始文件 -

parsers/
> flights/
> flights_proto/
> flights.proto
> flights.pb.go
> flightspostbooking
> flights_postbooking_proto/
> flights_postbooking.proto
> flights_postbooking.pb.go

以下是 proto 文件的内容 -
flights.proto
=============

package "flights_proto";

message Flight {
...
}

flights_postbooking.proto
=========================

package "flights_postbooking_proto"
import "flights_proto/flights.proto"

message Cancel {
Flight flight = 1;
...
}

我无法弄清楚如何编译 flights_postbooking.proto生成 pb.go文件。

我尝试从 parsers 执行以下操作目录。
protoc --proto_path=flightspostbooking/flights_postbooking_proto --proto_path=flights/flights_proto flightspostbooking/flights_postbooking_proto/flights_postbooking.proto --go_out=plugins:flights_postbooking_proto

但我收到一个错误 flights_proto/flights.proto: File not found

最佳答案

运行protoc来自 parsers目录,并使用原始文件的基本目录,即 .

protoc --proto_path=. --go_out=plugins=grpc:flightpostbooking/flights_postbooking_proto flightpostbooking/flights_postbooking_proto/flights_postbooking.proto

既然你有 parsers目录作为您的基础,您的导入应该是:
import "flights/flights_proto/flights.proto"

关键是使用相对于您的 proto_path 的导入路径。 .

关于go - 导入 proto 文件并编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59783179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com