#If you are in a hurry For language-specific installation instructions for gRPC runtime, please refer to these documents * [C++](examples/cpp): Currently to install gRPC for C++, you need to build from source as described below. * [C#](src/csharp): NuGet package `Grpc` * [Go](https://github.com/grpc/grpc-go): `go get google.golang.org/grpc` * [Java](https://github.com/grpc/grpc-java) * [Node](src/node): `npm install grpc` * [Objective-C](src/objective-c) * [PHP](src/php): `pecl install grpc-beta` * [Python](src/python/grpcio): `pip install grpcio` * [Ruby](src/ruby): `gem install grpc` #Pre-requisites ##Linux ```sh $ [sudo] apt-get install build-essential autoconf libtool ``` ##Mac OSX 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: ```sh $ [sudo] xcode-select --install ``` ##Protoc By default gRPC uses [protocol buffers](https://github.com/google/protobuf), 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. #Build from Source For developers who are interested to contribute, here is how to compile the gRPC C Core library. ```sh $ git clone -b $(curl -L http://grpc.io/release) https://github.com/grpc/grpc $ cd grpc $ git submodule update --init $ make $ [sudo] make install ``` ##Windows There are several ways to build under Windows, of varying complexity depending on experience with the tools involved. ###msys2 This approach requires having [msys2](https://msys2.github.io/) installed. - The Makefile (and source code) should support msys2's mingw32 and mingw64 compilers. Building with msys2's native compiler is also possible, but difficult. - The Makefile is expecting the Windows versions of OpenSSL (see https://slproweb.com/products/Win32OpenSSL.html). It's also possible to build the Windows version of OpenSSL from scratch. The output should be `libeay32` and `ssleay32`. - If you are not installing the above files under msys2's path, you may specify it, for instance, in the following way: ```CPPFLAGS=”-I/c/OpenSSL-Win32/include” LDFLAGS=”-L/c/OpenSSL-Win32/lib” make static_c``` - [protobuf3](https://github.com/google/protobuf/blob/master/src/README.md#c-installation---windows) must be installed on the msys2 path. ###Cmake (experimental) - Install [CMake](https://cmake.org/download/). - Run it over [grpc's CMakeLists.txt](https://github.com/grpc/grpc/blob/master/CMakeLists.txt) to generate "projects" for your compiler. - Build with your compiler of choice. The generated build files should have the protobuf3 dependency baked in.