Protocol Buffer Compiler Installation
How to install the protocol buffer compiler.
Protocol Buffer Compiler Installation
While not mandatory, gRPC applications often leverage Protocol Buffers for service definitions and data serialization. Most of the example code from this site uses version 3 of the protocol buffer language (proto3).
The protocol buffer compiler, protoc
, is used to compile .proto
files, which
contain service and message definitions. Choose one of the methods given below
to install protoc
.
Install using a package manager
You can install the protocol compiler, protoc
, with a package manager under
Linux or macOS using the following commands.
Warning
Check the version of protoc
(as indicated below) after installation to
ensure that it is sufficiently recent. The versions of protoc
installed by
some package managers can be quite dated.
Installing from pre-compiled binaries, as indicated in the next
section, is the best way to ensure that you’re using the
latest release of protoc
.
Linux, using
apt
orapt-get
, for example:$ apt install -y protobuf-compiler $ protoc --version # Ensure compiler version is 3+
MacOS, using Homebrew:
$ brew install protobuf $ protoc --version # Ensure compiler version is 3+
Install pre-compiled binaries (any OS)
To install the latest release of the protocol compiler from pre-compiled binaries, follow these instructions:
Manually download from github.com/google/protobuf/releases the zip file corresponding to your operating system and computer architecture (
protoc-<version>-<os><arch>.zip
), or fetch the file using commands such as the following:$ PB_REL="https://github.com/protocolbuffers/protobuf/releases" $ curl -LO $PB_REL/download/v3.15.5/protoc-3.15.5-linux-x86_64.zip
Unzip the file under
$HOME/.local
or a directory of your choice. For example:$ unzip protoc-3.15.5-linux-x86_64.zip -d $HOME/.local
Update your environment’s path variable to include the path to the
protoc
executable. For example:$ export PATH="$PATH:$HOME/.local/bin"
Other installation options
If you’d like to build the protocol compiler from sources, or access older versions of the pre-compiled binaries, see Download Protocol Buffers.