Posted over 6 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:

Copy
$ 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...

Copy
$ 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.

Copy
$ 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.

By refactoring problematic code and creating automated tests, makandra can vastly improve the maintainability of your Rails application.

Owner of this card:

Avatar
Arne Hartherz
Last edit:
8 months ago
by Emanuel De
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 cookies to improve usability and analyze traffic.
Accept or learn more