grpc.io/content/en/docs/protoc-installation.md

2.9 KiB

title linkTitle description protoc-version toc_hide
Protocol Buffer Compiler Installation Protoc Installation How to install the protocol buffer compiler. 25.1 true

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.

{{% alert title="Warning" color="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. {{% /alert %}}

  • Linux, using apt or apt-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:

  1. 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/v{{< param protoc-version >}}/protoc-{{< param protoc-version >}}-linux-x86_64.zip
    
  2. 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
    
  3. 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.