Instalando RVM
Agora vamos ver como usar o RVM e o que podemos fazer com ele. RVM funciona em todos os sistemas *nix, se você tem um Linux/MacOSX ou FreeBSD, abra seu console e vamos começar com a instalação do RVM. Só que o RVM requer uns pacotes, são:
bash (>= 3.2)
awk
sed
grep
which
ls
cp
tar
curl
gunzip
bunzip2
Então vamos instalar o RVM. Digite o seguinte comando:
$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
(Nota: é sempre bom que você tenha o git instalado, se você não tiver o git instalado então faça download em http://git-scm.com e instale o git de acordo com o seu sistema operacional). O git é utilizado pelo RVM para as futuras atualizações. Então vamos para a próxima etapa.
Certifique-se de ler e seguir todas as instruções emitidas pela instalação da linha acima. Certifique-se de novo para ativar o RVM shells, colocando a linha:
#rvm
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
[[ -r $rvm_path/scripts/completion ]] && . $rvm_path/scripts/completion
PS1="[\$(~/.rvm/bin/rvm-prompt)] $PS1"
No final do arquivo em ~/.bash_profile ou ~/.bashrc ou ~/.profile assegurar que não há uma linha que termina com '&& return' no seu ~/.bash_profile ou ~/.bashrc ou ~/.profile, onde quer que você tenha colocado o código. Lembrar de carregar o arquivo digitando o seguinte comando:
$ source ~/.rvm/scripts/rvm
E com isso você ganha também o autocompletar no shell, para isso basta digitar: rvm [tab] [tab]
Instalando rubies
Perfeito, agora temos a versão mais recente do RVM instalado. Agora, a parte que realmente precisamos para desenvolver nossas próprias aplicações com Ruby. Nós podemos escolher agora várias possibilidades dos interpretadores de ruby que desejar instalar. A mais comumente utilizada é a instalação de um nível de patch específico, que é o padrão. Vamos instalar três intérpretes ruby, especificando suas versões (MRI ruby é interpretador padrão):
$ rvm install 1.8.6,1.8.7,1.9.1
Depois de executar este comando (e esperar por um tempo, dependendo da velocidade da CPU e da largura de banda da rede) devemos ter três interpretadores ruby instalado para cada um deles a última versão do patch. RVM obtém os níveis de patch padrão que são especificado no RVM 'key=value' no arquivo ~/.rvm/config/db, estas definições podem ser substituídas pelo usuário em ~/.rvm/config/user.
Para ver os rubies instalados basta simplesmente digitar: rvm list ao qual devemos ver algo semelhante a:
rvm Rubies
ruby-1.8.6-p398 [ x86_64 ]
ruby-1.8.7-p249 [ x86_64 ]
ruby-1.9.1-p378 [ x86_64 ]
System Ruby
system [ ]
Selecionando Rubies
Se quisermos usar o Ruby 1.8.6, nós simplesmente podemos selecionar em nosso shell atual, digitando rvm 1.8.6. Podemos então verificar que versão od ruby está sendo utilizada, digitando ruby -v e também podemos verificar em qual ambiente está, digitando rvm info. RVM opera em uma base per-shell para este ambiente só está ativo para o shell atual, se abrir um novo shell, em seguida, estaremos de volta ao ambiente do sistema, o que nos traz para ...
Definir um Ruby padrão
Se quisermos usar uma versão específica do ruby como padrão para todas as outras versões instaladas, digamos, por exemplo, 1.9.1, vamos definir o padrão digitando: rvm 1.9.1 --default. Então quando nos digitamos rvm list vemos agora:
rvm Rubies
ruby-1.8.6-p398 [ x86_64 ]
ruby-1.8.7-p249 [ x86_64 ]
=> ruby-1.9.1-p378 [ x86_64 ]
Default Ruby (for new shells)
ruby-1.9.1-p378 [ x86_64 ]
System Ruby
system [ ]
Agora toda vez que abrir um novo shell vamos encontrar ruby -v o RVM 1.9.1 instalado e a gem list e as gems que podem ser instaladas no interpretador do RVM 1.9.1.
Ruby Gems
Com isso agora podemos instalar gems, e os pequenos pacotes que tanto precisamos, a fim de produzir o nosso código magnífico! Depois de selecionar uma versão do ruby com rvm 1.9.1, podemos instalar gems usando gem install (aviso prévio, sem sudo!). RVM configura seu ambiente de tal forma que as gems instaladas em um diretório separado para cada interpretador Ruby distintas. Isto significa que devemos instalar as gems para cara interpretador Ruby instalado que queremos com as gems. RVM fornece uma maneira fácil de instalar uma única gem para vários interpretadores: rvm 1.8.6,1.8.7 gem install ruby-debug irá instalar ruby-debug para ambas 1.8.6 e 1.8.7, enquanto rvm 1.9.1 gem install ruby-debug19 irá instalar o ruby-debug19 só para o ruby RVM's 1.9.1. Para instalar uma gem a todos os interpretadores simplesmente omitir os seletores: rvm gem install shoulda.
(não)sudo
É muito importante para deixar o hábito de usar 'sudo' para instalar gems. Quando sudo gem install x é usado gem install X é executado como o usuário root com a instalação raiz do ambiente e não no ambiente RVM cuidadosamente construída.
Gemset
Agora vamos criar um ambiente de gems próprio para o Rails 3 e outro para o Rails 2.3.8. Onde esses ambiente são chamados de gemsets:
$ rvm use 1.9.2 --default
$ rvm use 1.9.2
$ rvm gemset create rails3
$ rvm gemset create rails2
Bem criamos dois ambientes o do rails3 e o do rails2 utilizando o ruby 1.9.2. Agora posso instalar as gems só para rails3 que pode ser diferente das gems para rails2, e como faço isso? Bem vamos fazer para o ambiente de rails3:
$ rvm use 1.9.2@rails3
$ gem install rails
Agora para o ambiente de rails2:
$ rvm use 1.9.2@rails2
$ gem install rails --version '2.3.8'
Sim lembrando que:
É um atalho para:
$ rvm use 1.9.2
$ rvm gemset list
$ rvm gemset use rails3
Resumo
Este é um breve tutorial. Para maiores informações e documentação mais detalhada, visite o site do RVM (http://rvm.beginrescueend.com).
Créditos: http://railsmagazine.com/issues/6 page 31. RVM – The Ruby Version Manager by Markus Dreier.