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:
rbenv shell
rbenv local
rbenv global
You probably want 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.
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).
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.