#protobuf #protoc-gen-rust #generator #buffer #serialization #binary #protocols

bin+lib protobuf-codegen3

rust-protobuf 的代码生成器。包含一个库和 protoc-gen-rust 二进制文件。参见 protoc-rustprotobuf-codegen-pure

3 个稳定版本

使用旧的 Rust 2015

2.28.2 2023年2月27日
2.28.1 2023年2月24日
2.27.2 2022年9月7日

开发工具 中排名 #1521

Download history 91/week @ 2024-03-11 52/week @ 2024-03-18 41/week @ 2024-03-25 38/week @ 2024-04-01 31/week @ 2024-04-08 42/week @ 2024-04-15 64/week @ 2024-04-22 6/week @ 2024-04-29 22/week @ 2024-05-06 32/week @ 2024-05-13 40/week @ 2024-05-20 39/week @ 2024-05-27 81/week @ 2024-06-03 84/week @ 2024-06-10 32/week @ 2024-06-17 27/week @ 2024-06-24

每月下载量 224
2 个包中使用(通过 protobuf-codegen-pure3

MIT 许可协议

1.5MB
33K SLoC

Protobuf 代码生成器

此包包含 protobuf 代码生成器实现和 protoc-gen-rust protoc 插件。

此包

  • protoc 命令提供 protoc-gen-rust 插件
  • 实现 protobuf 代码生成

此包不打算直接使用,事实上,它不提供任何公共 API(除了 protoc-gen-rust 二进制文件)。

可以使用以下任一种方式生成代码:

  • protoc-gen-rust 插件为 protoc
  • protoc-rust 包(依赖 protoc 二进制文件进行 .proto 文件的解析的代码生成器)
  • protobuf-codegen-pure 包,与 protoc-rust 类似的 API,但使用纯 Rust 解析器解析 .proto 文件。

protoc-gen-rust 插件为 protoc

当使用非 cargo 构建系统时,请考虑使用标准的 protobuf 代码生成模式:当使用 --rust_out= 选项调用 protoc 时,它会调用此包提供的 protoc-gen-rust 插件。

在构建 cargo 项目时,请考虑使用 protoc-rustprotobuf-codegen-pure 依赖包。

如果必须使用 protoc-gen-rust,以下是如何使用的方法

(注意:可以使用 protoc crate 以编程方式调用 protoc

  1. 安装 protoc 的 protobuf 二进制文件。

在 macOS 上,可以使用 Homebrew

brew install protobuf

在 Ubuntu 上,可以安装 protobuf-compiler 软件包

apt-get install protobuf-compiler

Protobuf 仅用于代码生成,rust-protobuf 运行时不会使用 protobuf 库。

  1. 安装 protoc-gen-rust 程序(这是一个 protoc 插件)

它可以从源代码安装,也可以使用 cargo install protobuf 命令安装。

  1. protoc-gen-rust 添加到 $PATH

如果您使用 cargo 安装,它应该是

PATH="$HOME/.cargo/bin:$PATH"
  1. 生成 .rs 文件
protoc --rust_out . foo.proto

这将在当前目录中生成 .rs 文件。

版本 2

这是关于 crate 版本 2 的文档。

crate 的版本 3(目前正在开发中)封装了本 crate 中的 protoc 和纯代码生成器。

依赖项