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
If you need to change manually, you have several options:
You probably want
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.
$ 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
$ 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.