Posted about 8 years ago. Visible to the public.

rbenv: How to switch to another Ruby version (temporarily, per project, or globally)

Unlike RVM, rbenv does not offer a command like rvm use. By default, it respects your project's .ruby-version file.

If you need to change manually, you have several options:

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

You probably want rbenv shell.

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.

Note that your terminal session will no longer respect any .ruby-version files. You need to run rbenv shell --unset to enable the auto switch again.

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.

Flaky tests are tests that sometimes fail for no obvious reason. They are the plague of many end-to-end (E2E) test suites that automate the browser through tools like Capybara and Selenium.

Join our free training event and learn to fix any flaky test suite, even in large legacy applications.

Owner of this card:

Arne Hartherz
Last edit:
12 months ago
by Jakob Scholz
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Arne Hartherz to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more