I use RVM, the Ruby Version Manager to specify a Ruby version and a set of gems for each of my Rails projects.
I have a .rvmrc
file to automatically select a Ruby version and gemset whenever I cd
into a project directory.
After installing RVM 1.19.0, I get a message
You are using
.rvmrc
, it requires trusting, it is slower and it is not compatible with other ruby managers, you can switch to.ruby-version
usingrvm rvmrc to [.]ruby-version
or ignore this warnings withrvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc
,.rvmrc
will continue to be the default project file in RVM 1 and RVM 2, to ignore the warning for all files runrvm rvmrc warning ignore all.rvmrcs
.
Should I continue using my .rvmrc
file or should I switch to a .ruby-version
file? Which is optimal? What are the ramifications?
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