How to Switch to Another Ruby Version (temporarily, per project, or globally) Using rbenv

undefined

In this mini post I’ll show you how to switch to another ruby versions using rbenv. Unlike RVM, rbenv does not offer a command like rvm use but will always respect your project’s .ruby-version file.

You have several options:

  1. rbenv shell
  2. rbenv local
  3. rbenv global

But choose wisely, for while the true command will bring you life, the false command will take it from you.

Temporarily: rbenv shell

Changes your Ruby version on your current shell:

$ ruby -v 
ruby 1.9.3p484 (...)

$ rbenv shell 2.0.0-p353 
$ ruby -v 
ruby 2.0.0p353 (...) 

Background: This actually sets the RBENV_VERSION environment variable in your terminal session.

Per project: rbenv local

Looks like rbenv shell

$ ruby -v 
ruby 1.9.3p484 (...) 

$ rbenv local 2.0.0-p353 
$ ruby -v 
ruby 2.0.0p353 (...) 

…but actually writes that version to a .ruby-version in your current directory. Use this only when you want to change the Ruby version on a project, not to change it temporarily (as you’d change your project’s file or clutter whatever directory you are currently in with that file).

Globally: rbenv global

This will also change your Ruby version, but only the one you are using whenever no other version is specified, e.g. via a .ruby-version file or RBENV_VERSION variable.

$ ruby -v 
ruby 1.9.3p484 (...) 

$ rbenv global 2.0.0-p353 
$ ruby -v 
ruby 2.0.0p353 (...) 

$ echo "1.9.3p484" > .ruby-version 
$ rbenv global 2.0.0-p353 
$ ruby -v 
ruby 1.9.3p484 (...) 

Note that this is really your global Ruby version, so calling that on one terminal session will affect other terminal sessions as well – unless they are inside a directory tree using .ruby-version, of course.

If You Appreciate What We Do Here On Mimastech, You Should Consider:

  1. Stay Connected to: Facebook | Twitter | Google+
  2. Support us via PayPal Donation
  3. Subscribe to our email newsletters.
  4. Tell other sysadmins / friends about Us - Share and Like our posts and services

We are thankful for your never ending support.

Leave a Reply

Your email address will not be published. Required fields are marked *