Use Ruby Version Manager. It was meant for keeping multiple versions of Ruby in the same system, even allowing them to use different Gem sets and configurations. You won't mess with your system's Ruby as well, which is another benefit. All your Rubies will be stored in
~/.rvm/rubies, and therefore separated from the system.
There are a few easy steps to get started.
You need Git installed.
- OS X doesn't ship with it. Install it using the Git OS X installer if you don't care for the ultra-latest version. Otherwise, install it over Homebrew.
- Linux versions might have it, otherwise just install the
git-core package with
1. Install RVM
Open up a Terminal and enter
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
This takes a while. Read through everything the installer tells you. After the installation, add RVM to your profile (you should have been told that):
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
Then, close and reopen the terminal, and type
rvm to see if everything works. You should get a greeting message.
2. Install Rubies
Install your Ruby versions with RVM now. First of all, enter
rvm list known to see a list of all Rubies you can install through RVM. If you've decided, install them like so:
rvm install 1.8.7-head
rvm install 1.9.2
This may take a while, as they are downloaded and compiled on your system. When you're done, you can switch between them.
3. Switch your Rubies
If you have a default Ruby you want to use, change it with the following command.
rvm --default use 1.9.2
To use – for example – the newly installed
1.8.7-head version, just type:
rvm use 1.8.7-head
To switch back to the system's default Ruby (e.g. OS X), type:
rvm use system
You can also reset RVM to use the system Ruby again. This will somewhat disable RVM:
4. Where to go from that?
Now you should be set. This is all you need to know in the beginning. For further resources, check the following articles:
Of course, when working in Rails, don't forget to also update your Rubies and RubyGems (in the latter case with
gem update --system).