For language-specific installation instructions for gRPC runtime, please refer to these documents
Grpc
go get google.golang.org/grpc
npm install grpc
pecl install grpc
pip install grpcio
gem install grpc
$ [sudo] apt-get install build-essential autoconf libtool
If you plan to build from source and run tests, install the following as well:
$ [sudo] apt-get install libgflags-dev libgtest-dev $ [sudo] apt-get install clang libc++-dev
For a Mac system, git is not available by default. You will first need to install Xcode from the Mac AppStore and then run the following command from a terminal:
$ [sudo] xcode-select --install
By default gRPC uses protocol buffers, you will need the protoc
compiler to generate stub server and client code.
If you compile gRPC from source, as described below, the Makefile will automatically try and compile the protoc
in third_party if you cloned the repository recursively and it detects that you don't already have it installed.
For developers who are interested to contribute, here is how to compile the gRPC C Core library.
$ git clone -b $(curl -L http://grpc.io/release) https://github.com/grpc/grpc $ cd grpc $ git submodule update --init $ make $ [sudo] make install
There are several ways to build under Windows, of varying complexity depending on experience with the tools involved.
The pre-generated VS projects & solution are checked into the repository under the vsprojects directory.
choco install activeperl
)choco install ninja
)choco install golang
)PATH
(choco install yasm
)> md .build > cd .build > call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64 > cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release > cmake --build .
NOTE: Currently you can only use Ninja to build using cmake on Windows (because of the boringssl dependency).
The Makefile (and source code) should support msys2's mingw32 and mingw64 compilers. Building with msys2's native compiler is also possible, but difficult.
This approach requires having msys2 installed.
# Install prerequisites MSYS2$ pacman -S autoconf automake gcc libtool mingw-w64-x86_64-toolchain perl pkg-config zlib MSYS2$ pacman -S mingw-w64-x86_64-gflags
# From mingw shell MINGW64$ export CPPFLAGS="-D_WIN32_WINNT=0x0600" MINGW64$ make
NOTE: While most of the make targets are buildable under Mingw, some haven't been ported to Windows yet and may fail to build (mostly trying to include POSIX headers not available on Mingw).