如何在 Ubuntu 16.04 上安装 protoc(用于生成 Java 的 protobuf 编译器)?
答案1
看https://github.com/protocolbuffers/protobuf/blob/master/src/README.md:
先决条件
$ sudo apt-get install autoconf automake libtool curl make g++ unzip
安装
- 从这一页,下载
protobuf-all-[VERSION].tar.gz
。 - 提取内容并更改目录
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
检查是否有效
$ protoc --version
libprotoc 3.6.1
答案2
sudo apt install protobuf-compiler
答案3
如果您不是 C++ 用户和/或不想自己编译,安装当前版本 protoc 的最简单方法是从发布页面下载预构建的二进制文件。
https://github.com/protocolbuffers/protobuf/releases
要安装,只需将此二进制文件放在 PATH 中的某个位置(例如 /usr/local/bin)。
(如果您打算使用包含的众所周知的类型,那么不要忘记将“include”目录的内容复制到某处,例如 /usr/local/include/。)
例子:
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-linux-x86_64.zip
sudo unzip -o protoc-21.12-linux-x86_64.zip -d /usr/local bin/protoc
sudo unzip -o protoc-21.12-linux-x86_64.zip -d /usr/local 'include/*'
# now test:
protoc --version
答案4
如果您遇到以下错误,请使用此方法
google/protobuf/descriptor.proto:未找到文件。google
/protobuf/duration.proto:未找到文件。google
/protobuf/timestamp.proto:未找到文件。
PROTOC_ZIP=protoc-3.7.1-linux-x86_64.zip
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/$PROTOC_ZIP
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
rm -f $PROTOC_ZIP
当你使用 protoc-gen-go 进行 go 生成时这很有用,因为它要求基本 proto 文件存在于默认包含文件夹中