Hoje então vamos falar de RVM.
O RVM é a abreviação de Ruby Version Manager, basicamente o que ele
faz é criar um ambiente virtual no qual você consiga ter mais de uma
versão do Ruby e assim possa testar se sua aplicação continuará
funcionando caso você passe a utilizar uma versão diferente do Ruby.
Além disso o RVM permite que você crie gemsets que nada mais são do que
lugares separados onde você tem o set de gems de um projeto/ambiente, ou
seja, você pode ter diversos projetos e ter suas gems separadinhas
podendo utilizar, por exemplo, rails 2 em um projeto legado e rails 3 na
atualização deste mesmo projeto. Na figura abaixo dá pra ver como é o
ambiente quando usamos o RVM:
Como dá para ver, você com o RVM instalado pode ter mais de uma
versão do Ruby, no caso da figura o Ruby 1.9.3 e o JRuby, pode ter
também mais de um gemset e eles serem diferentes entre si, um não vai
afetar o outro, assim como a instalação de uma versão do Ruby não afeta a
outra.
Agora vamos a um passo-a-passo da instalação do RVM.
No site oficial do RVM tem a linha de código usada para a instalação.
OBS: Aqui você pode ter algum problema para instalação do Ruby, caso
isso ocorra não se desespere, rode o comando rvm requirements e ele vai
dizer tudo que é preciso instalar para que seu RVM rode redondinho (o
legal deste comando é que ele diz exatamente a linha que é necessária
rodar para instalar o pacote, se você está no Ubuntu ele vai indicar o
apt-get, no ArchLinux o pacman, etc).
Depois de instalada a versão para usar ela é só usar o comando rvm use e o mesmo comando para trocar de uma versão para outra.
Para criar um gemset nesta versão do Ruby é só usar o comando rvm gemset create e para usar este gemset o comando é rvm use @
Depois disto pode-se instalar a gem que for necessária para o seu projeto =)
Abaixo tem uma lista de comandos e o que eles fazem:
rvm use 1.9.3@teste => passa a utilizar a versão 1.9.3 e a gemset teste
rvm --default 1.9.3 => seta a versão default do rvm para a 1.9.3
rvm --create --rvmrc 1.9.3@teste
Este último comando merece uma explicação um pouquinho maior, com ele
nós criamos um arquivo .rvmrc este arquivo contém a informação do Ruby e
da gemset que são necessárias para o funcionamento de um projeto. Com
ele, ao entrar na pasta do projeto automaticamente será utilizada a
versão do Ruby e a gemset pré-selecionadas.