Gem gRPC Ruby

A Ruby implementation of gRPC.


  • Ruby 2.x. The gRPC API uses keyword args.


Linux and Mac OS X:

gem install grpc

If using a Gemfile and you wish to pull from a git repository or GitHub, make sure to tell bundler to retrieve submodules:

gem 'grpc', github: 'grpc/grpc', submodules: true


  • Clone this repository

  • Init submodules

git submodule update --init
  • Install Ruby 2.x. Consider doing this with RVM, it‘s a nice way of controlling the exact ruby version that’s used.
$ command curl -sSL | gpg --import -
$ \curl -sSL | bash -s stable --ruby=ruby-2
$ # follow the instructions to ensure that your're using the latest stable version of Ruby
$ # and that the rvm command is installed
  • Make sure your run source $HOME/.rvm/scripts/rvm as instructed to complete the set up of RVM

  • Install bundler

$ gem install bundler
  • Finally, build and install the gRPC gem locally.
$ # from this directory
$ bundle install  # creates the ruby bundle, including building the grpc extension
$ rake  # runs the unit tests, see rake -T for other options


  • rubydoc for the gRPC gem is available online at rubydoc.
  • the gRPC Ruby reference documentation is available online at


Directory structure is the layout for ruby extensions

  • ext: the gRPC ruby extension

  • lib: the entrypoint gRPC ruby library to be used in a ‘require’ statement

  • spec: Rspec unittests

  • bin: example gRPC clients and servers, e.g,

    stub ='', :this_channel_is_insecure)
    req = 7, divisor: 3)"div(7/3): req=#{req.inspect}")
    resp = stub.div(req)"Answer: #{resp.inspect}")