If your Ruby application won't start because of a missing gem, then you must install it locally using Bundler. For more information about using Bundler, please visit the following page:
Ruby Version Manager (RVM) is a utility that allows you to add your own personal version of Ruby to a user. It allows you to add, remove, or have multiple versions of Ruby and its libraries live in your user directory.
This article walks you through how to manually install RVM as well as a custom version of Ruby and/or Rails. Once complete, you can then enable Passenger within your panel and select which version of Ruby you wish to use with your site.
To get started, you'll first need to install RVM under your shell user and set it up to load automatically. Visit the Creating a user with Shell (SSH) access article to make sure your user is a Shell user. Then you can log in to your server via SSH to run the following commands in your user's directory.
- Make sure you're in your user's home directory:
[server]$ cd ~
- Install RVM's public keys:
[server]$ gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
This creates a new folder under your user named /.gnupg with the public key.
- Install the latest stable version of RVM:
[server]$ curl -sSL https://get.rvm.io | bash -s
This command does the following three things:
- Creates a new folder under your user named /.rvm
- Adds this line to your .bash_profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
- Adds this line to your .bashrc file:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
- Run this to unset your GEM_HOME:
[server]$ unset GEM_HOME
- Run this to source your new RVM install:
[server]$ source ~/.rvm/scripts/rvm
- Run the following to disable autolibs:
[server]$ rvm autolibs disable
- Check if RVM is installed and functioning:
[server]$ rvm --version rvm 1.29.12-next (master) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
Installing any version of Ruby you wish
Once RVM is configured, you can install any version of Ruby you like.
You must first disable autolibs. If autolibs is not disabled, the Ruby installation fails due to permission issues.
- Run the following to get a list of available versions to install:
[server]$ rvm list known
Several interpreters will be listed such as MRI, JRuby, Rubinius, etc. You should install a version under the MRI section. For example:
# MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p648] [ruby-]2.1[.10] [ruby-]2.2[.10] [ruby-]2.3[.8] [ruby-]2.4[.10] [ruby-]2.5[.9] [ruby-]2.6[.7] [ruby-]2.7[.3] [ruby-]3[.0.1]
- Install the exact version of Ruby you require. This example installs version 3.0.1:
[server]$ rvm install 3.0.1
- Run the following to tell your system to use this version by default:
[server]$ rvm use 3.0.1 --default
- Check the version of Ruby to confirm it's been updated.
[server]$ ruby -v ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
Installing any version of Rails you wish
You must first disable autolibs. If autolibs is not disabled, the Rails installation fails due to permission issues.
- Run this command to install the latest version of Rails:
[server]$ gem install rails
- Alternatively, run the following to install a specific version:
[server]$ gem install rails --version 220.127.116.11
- View a full list of available versions at rubygems.org:
Enabling RVM using the DreamHost panel
DreamHost support is unable to assist with RVM installs on a shared server. However, if you have installed RVM on Shared Hosting, do not follow the 'Enable RVM' article. Instead, add the following to an .htaccess file in your Ruby app:
Make sure to change username to your Shell user. and the version of Ruby to your app's version.