Uma das coisas bacanas de usar Ruby é a forma como se lida com as diferentes versões da linguagem.

Em Java, até hoje nada foi retirado da linguagem, temos apenas classes e método em desuso. Se isso não quebra a linguagem, por outro lado a torna inchada, além de amarrar um pouco evoluções mais profundas.

Em PHP, basicamente os autores não ligam e você se vira: coisas entram em desuso, outras são simplesmente retiradas, e algumas até voltam.

Em Ruby, existe o RVM (Ruby Version Manager). Com ele você apenas coloca um arquivo na pasta do projeto dizendo qual é a versão do Ruby que quer usar e pronto.

Caso essa versão do Ruby esteja instalada, ela será usada. Se não estiver, o RVM te dá o comando para instalá-la.

Simples e prático.

A forma comum de instalá-lo é rodar um script na linha de comando: este script irá baixar o RVM, descompactá-lo, instalá-lo e configurá-lo para o usuário atual.

Aqui alguns inconvenientes:

  • você precisa sempre consultar por novas versões e atualizar manualmente (o que sempre acontece ao se usar um instalador isolado ao invés dos gerenciadores de pacotes disponíveis no Linux);

  • se você optar pelas configurações padrão, todo o RVM, todas as versões do Ruby que você usar e todas as gemas serão instaladas no diretório do seu usuário;

  • e por último, se você optar por instalar o RVM globalmente, ele irá usar a pasta /usr/local/rvm, o que viola uma das convenções do Debian/Ubuntu.

Claro que se você ler o manual do RVM e os scripts de instalação, conseguirá alterar isso e também é possível colocar um script no cron para verificar atualizações.

Mas para que re-inventar a roda, se o apt já faz isso tudo para nós?

Foi com essa idéia que eu criei um pacote do RVM para Ubuntu (que horas depois, foi promovido a sub-projeto oficial do RVM):

  • ele será instalado do mesmo modo que outros programas;

  • será atualizável automaticamente;

  • é instalado em folders que não sejam o /usr/local;

  • por padrão é instalado globalmente, mas permitindo gemas locais;

  • todos usuários sudoers tem permissão para instalar Rubies.

Bom, agora com o PPA e o pacotinho, mão a obra!

1. Adicione o repositório e instale o RVM

Instale o repositório, abrindo um terminal e digite os comandos abaixo:

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm

2. Configure seu Gnome Terminal

Agora vamos configurar o Gnome Terminal para que sempre que for aberto, realize um login.

Na janela do terminal, abra Editar > Preferências do Perfil, clique na aba Título e Comando e marque a opção Executar comando como shell de sessão.

Terminal Screenshot

3. Faça logout e login

Um monte de mudanças foram feitas (seu usuário agora é parte do grupo rvm, seu terminal foi configurado, alguns scripts precisam ser lidos. Pra que tudo funcione, você precisa sair e entrar novamente no sistema. Mas não apenas fechar e abrir o terminal: tem que fazer logout de verdade e entrar novamente.

4. Instale um Ruby

Agora sim estamos prontos para instalar a versão mais recente do Ruby. Abra um terminal (Ctrl+Alt+T) e digite:

rvm install ruby

Usando o RVM

As instruções completas para usar o RVM estão disponíveis em seu repositório.

Além disso, você pode checar o manual do mesmo: abra um Terminal (Ctrl+Alt+T) e execute:

man rvm