Setting up a Ruby development environment (original) (raw)

This tutorial shows how to prepare your local machine forRubydevelopment, including developing Ruby apps that run on Google Cloud. Follow this tutorial to install Ruby and relevant tools.

ReadQuickstart for Ruby and Google Cloudto get an overview of Ruby and learn ways to run Ruby apps on Google Cloud.

Objectives

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 onRuby-lang.

macOS

We recommend usingrbenvto manage your Ruby installations on macOS. rbenv manages multiple Ruby version installations on your machine and a rbenv plugin namedruby-buildadds 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. InstallXCode.
  2. InstallXCode's command line toolsby using the following command in a terminal:
xcode-select --install  
  1. Install homebrew by following the instructions on thehomebrew homepage.
  2. Install rbenv by using homebrew, following the instructions in therbenv readme. The homebrew installation includes the ruby-build plugin.

Learn more aboutusing rbenvand ruby-build to install different versions of Ruby.

Linux

We recommend usingrbenvto manage your Ruby installations on Linux distributions. rbenv manages multiple Ruby version installations on your machine and a rbenv plugin namedruby-buildadds support to rbenv to install a specified version of Ruby.

  1. Install rbenv on your Linux distribution by using therbenv readme.
  2. Install the ruby-build plugin for rbenv by using the instructions in theruby-build readme.

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

Windows

For Windows, we recommend one of the following:

Install Bundler

Bundleris a Ruby gem that manages project gem dependencies defined in a file namedGemfile. The Ruby samples in Google Cloud's documentation useGemfile 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 readingBundler 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 gcloud CLI

The gcloud CLIis a set of tools for Google Cloud. It contains gcloud 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 withbundle exec ruby app.rb -p 8080:

gcloud app deploy

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

Install the Cloud Client Library for Ruby

The Cloud Client Library for Rubyis the idiomatic way for Ruby developers to integrate with Google Cloud 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

Set up authentication

To use the Cloud Client Libraries in a local development environment, set up Application Default Credentials.

If you're using a local shell, then create local authentication credentials for your user account:

gcloud auth application-default login

You don't need to do this if you're using Cloud Shell.

If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

For more information, seeAuthenticate for using client libraries.

What's next