1. Home
  2. Ruby
  3. Changing Ruby versions

Changing Ruby versions

Overview

Newer hosting platforms, v6+, support multiple Ruby versions through rvm. This enables you to run multiple versions of Rack and Rails using any available Ruby interpreters. Currently, versions 1.8 to 2.2 are supported.

Important: Avoid using 1.8, except to shim an older application with an intent to upgrade. 1.8 is deprecated and contains several unpatched security vulnerabilities as of June 2013.

Switching versions

Important: all commands are done from the terminal.

Listing available versions

rvm list will list available versions. If a version that you need is missing, open a ticket and we’ll install it for you.

[myadmin]$ rvm list
rvm rubies
   ruby-1.8.7-head [ x86_64 ]
   ruby-1.8.7-p374 [ x86_64 ]
   ruby-1.9.3-p547 [ x86_64 ]
 * ruby-2.0.0-p481 [ x86_64 ]
=> ruby-2.1.2 [ x86_64 ]
   ruby-head [ x86_64 ]
# => - current
# =* - current && default
# *  - default

Current (=>) indicates the version that will be reported with ruby --version and default (*) indicates the Ruby version in effect upon login without issuing rvm use.

Setting versions

To use a Ruby version for the life of the session, issue rvm use ruby-ver where ruby-ver is the ruby version:

[myadmin]$ rvm use ruby-head
ruby-head - #gemset created /home/myadmin/.rvm/gems/ruby-head
ruby-head - #importing gemsetfile /.socket/ruby/gemsets/default.gems evaluated to empty gem list
ruby-head - #generating default wrappers.............
Using /home/myadmin/.rvm/gems/ruby-head

If Rubygems hasn’t been initialized yet for the given version, then gems will be populated. Use rvm use --default ruby-ver to set the default version for future logins.

Note: rvm list will report a different default from current. Default, in this context, indicates server default and not the default set via rvm use.

Setting versions as default

A Ruby version can be configured as the default for a directory and its descendents by adding the Ruby version via .ruby-version. For example, to set Ruby 2.2.4 as the default interpreter under /var/www and its descendents, including /var/www/myapp, /var/www/domain2.com/app1, and /var/www/domain2.com/app2, create a file named /var/www/.ruby-version with “ruby-2.2.4”:

echo "ruby-2.2.4" > /var/www/.ruby-version
ruby -v
# Ruby version will be system default
cd /
# Leave /var/www
cd /var/www
# Ruby version now queried from /var/www/.ruby-version
ruby -v
# Ruby version will output ruby 2.2.4p230

See also

Updated on April 19, 2021

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help! If you get an error, visit https://lithiumhosting.com/support instead.
Contact Support