Setting up a Ruby development environment

This tutorial shows how to prepare your local machine for Ruby development, including developing Ruby apps that run on Google Cloud Platform (GCP). Follow this tutorial to install Ruby and relevant tools.

Read Quickstart for Ruby and GCP to get an overview of Ruby and learn ways to run Ruby apps on GCP.

Objectives

  • Install Ruby.
  • Install Bundler.
  • Install an editor (optional).
  • Install the Cloud SDK.
  • Install the Cloud Client Library for Ruby.

Install Ruby

Ruby's installation instructions vary by operating system. Follow the guide for the operating system you're using on your local development machine. This tutorial applies to stable and non-end-of-life (EOL) Ruby versions listed on Ruby-lang.

macOS

We recommend using rbenv to manage your Ruby installations on macOS. rbenv manages multiple Ruby version installations on your machine and a rbenv plugin named ruby-build adds support to rbenv to install a specified version of Ruby.

While macOS includes a version of Ruby by default, it's best to perform a separate install of the latest versions of Ruby to stay up-to-date and avoid conflicts with the operating system's use of its default version.

  1. Install XCode.
  2. Install XCode's command line tools by using the following command in a terminal:

    xcode-select --install
    
  3. Install homebrew by following the instructions on the homebrew homepage.

  4. Install rbenv by using homebrew, following the instructions in the rbenv readme. The homebrew installation includes the ruby-build plugin.

Learn more about using rbenv and ruby-build to install different versions of Ruby.

Linux

We recommend using rbenv to manage your Ruby installations on Linux distributions. rbenv manages multiple Ruby version installations on your machine and a rbenv plugin named ruby-build adds support to rbenv to install a specified version of Ruby.

  1. Install rbenv on your Linux distribution by using the rbenv readme.

  2. Install the ruby-build plugin for rbenv by using the instructions in the ruby-build readme.

Learn more about using rbenv and ruby-build to install different versions of Ruby.

Windows

For Windows, we recommend one of the following:

Install Bundler

Bundler is a Ruby gem that manages project gem dependencies defined in a file named Gemfile. The Ruby samples in GCP's documentation use Gemfile files to specify required gems and versions.

  1. Install Bundler.

    gem install bundler
    
  2. Install gem dependencies defined in the Gemfile.

    bundle install
    
  3. Run your Ruby project only using gems defined in your Gemfile.

    bundle exec ruby app.rb
    

Learn more about creating a Gemfile by reading Bundler documentation.

Install an editor

Popular editors (in no particular order) used to develop Ruby apps include, but aren't limited to:

These editors (sometimes with the help of plugins) give you everything from syntax highlighting, intelli-sense, and code completion to fully integrated debugging capabilities, maximizing your Ruby development efficacy.

Install the Cloud SDK

The Cloud SDK is a set of tools for GCP. It contains gcloud, gsutil, and bq, which you can use to access Compute Engine, Cloud Storage, BigQuery, and other products and services from the command line. You can run these tools interactively or in your automated scripts.

As an example, here is a simple command that deploys a Ruby web app to the App Engine flexible environment. After deployment, App Engine attempts to start the app with bundle exec ruby app.rb -p 8080:

gcloud app deploy

Learn how to deploy a Ruby on Rails app to the App Engine flexible environment.

Install the Cloud Client Library for Ruby

The Cloud Client Library for Ruby is the idiomatic way for Ruby developers to integrate with GCP services. You can install the package for an individual API, such as Cloud Storage for example:

gem install google-cloud-storage

You can also use Bundler and add the gem to your Gemfile dependencies, for example:

bundle add google-cloud-storage

Authentication

To use the Cloud Client Library for Ruby, you must first authenticate. Complete the steps in getting started with authentication.

What's next

Was this page helpful? Let us know how we did:

Send feedback about...