Protocol Buffer Compiler Installation
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 Pre-compiled Binaries (Any OS)
To install the latest release of the protocol compiler from pre-compiled binaries, follow these instructions:
From https://github.com/google/protobuf/releases, manually download 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/v< param protoc-version >/protoc-< param protoc-version >-linux-x86_64.zip
Unzip the file under
$HOME/.local
or a directory of your choice. For example:unzip protoc-< param protoc-version >-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"
Install Using a Package Manager
Warning
Runprotoc --version
to check the version of protoc
after using a package
manager for installation to ensure that it is sufficiently recent. The versions
of protoc
installed by some package managers can be quite dated. See the
Version Support page to compare
the output of the version check to the minor version number of the supported
version of the language(s) you are
using.You can install the protocol compiler, protoc
, with a package manager under
Linux, macOS, or Windows using the following commands.
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+
Windows, using Winget
> winget install protobuf > protoc --version # Ensure compiler version is 3+
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.