如何编译gRPC Proto文件?

问题描述 投票:0回答:1

如何使用 protoc 命令行程序将 *.proto 文件编译为某种语言,适用于除 Node 之外的所有语言。

grpc grpc-node grpc-web
1个回答
0
投票

protoc
使用插件模型来实现功能,包括生成特定于语言的存根的功能。
protoc
包含多种开箱即用语言(例如 Python、Java)的插件功能,但对于其他语言(Go、Rust 等),您需要遵循其他说明(例如,对于 Go 编译 protobufs; Rust 有多种选择,包括 Prost)。

除非您是希望将特定于语言的存根(作为 SDK)与协议缓冲区捆绑在一起的提供商,否则通常最好将存根的生成留给最终开发人员。如果您仍然希望生成存根,最好向您的开发人员征求他们需要的语言(并生成这些存根),而不是所有语言(

protoc
团队有一个语言列表,其中存在插件)但这可能不完整)。

如果您使用 gRPC 并且您的 protobufs 包含

service
rpc
定义,则您将需要额外的插件,并且在某些情况下(例如 Python),需要使用不同的机制(快速入门:Python)。

© www.soinside.com 2019 - 2024. All rights reserved.