Use rvmrc or ruby-version file to set a project gemset with RVM? Use rvmrc or ruby-version file to set a project gemset with RVM? ruby-on-rails ruby-on-rails

Use rvmrc or ruby-version file to set a project gemset with RVM?


If your .rvmrc file contains custom shell code, continue using .rvmrc as it allows you to include any shell code.

If your only aim is to switch Ruby versions, then use .ruby-version which is supported by other Ruby version switchers such as rbenv or chruby. This file also does not require trusting as it is just the name of a Ruby version and will not be executed in any way.

If you use .ruby-version you can include @gemset in the file but this will not be compatible with other switchers. To maintain compatibility use the gemset name in a separate file .ruby-gemset which is ignored by other tools (it works only together with .ruby-version).

For example, if you have a simple .rvmrc:

rvm use 1.9.3@my-app

It can be transformed to .ruby-version:

1.9.3

And .ruby-gemset:

my-app

Be sure to remove the .rvmrc file as it takes precedence over any other project configuration files:

rm .rvmrc


Quick and easy way to switch from .rvmrc to .ruby-version + .ruby-gemset

rvm rvmrc to .ruby-version


If you want create the .ruby-version and .ruby-gemset file in a short way you can use the commands like this:

rvm use 2.1.1@nancy --creatervm --create --ruby-version 2.1.1@nancy