Gerenciando N versões de Ruby com RVM
Hoje vou falar um pouco para vocês sobre o RVM (Ruby Version Manager) que viabiliza a instalação de N versões do interpretador Ruby com suas respectivas gemsets.
Ou seja você pode desenvolver o projeto “ABC” usando o Ruby 1.8.7, com seu determinado conjunto de gems dentre elas o Rails 2.3.4, e ao mesmo tempo ter o projeto “DEF” usando o Jruby e o Rails 3.0.0, simples assim sem conflitos internos e liberdade total para o desenvolvimento.
Como faço ? Vamos lá, para quem quiser se aprofundar mais dê uma boa estudada em http://rvm.beginrescueend.com/, e para os mais ansiosos vou apresentar a receita de bolo
Instalando o RVM
<<(curl http://rvm.beginrescueend.com/releases/rvm-install-head)
Habilite o comando RVM, inserindo a linha abaixo no arquivo ~/.bash_profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . “$HOME/.rvm/scripts/rvm”
Teste a instalação
rvm
Criando seu primeiro ambiente
Nesse primeiro exemplo vamos criar um ambiente com o Ruby Enterprise Edition, que é uma branch do MRI(Matz Ruby Interpreter, implementação canônica do Ruby) com uma série de patches que priorizam performance, escalabilidade, memória e etc. Para fazer isso faça o seguinte:
rvm install ree
Aguarde, pode demorar um pouco, ao final da instalação para conferir se tudo deu certo:
rvm list
Será apresentado uma lista do rubies instalados a partir do RVM
ree-1.8.7-2010.02 [ x86_64 ]
Para saber mais comandos:
rvm help
Agora que você instalou o Ruby Enterprise Edition, para usá-lo faça o seguinte:
rvm use ree
A partir de agora o Ruby executado será o Enterprise Edition, vamos instalar um gemset para nosso novo ambiente:
rvm gemset create meu-projeto
Foi criado um gemset dentro do ambiente do Ruby Enterprise Edition, e para usar
rvm gemset use meu-projeto
Pronto, instalamos o RVM, criamos um novo ambiente com o Ruby Enterprise Edition, e seu respectivo gemset, teoricamente tudo certo e para usarmos essas configurações em nosso projeto de uma maneira mais simples com um comando só, faça isso:
rvm use ree@meu-projeto
Entendeu ? informei ao RVM que quero usar o ambiente “ree” com o gemset “meu-projeto”
Quer algo mais simples ainda que garanto vai te poupar possíveis dores de cabeça ?
Crie um arquivo .rvmrc coloque na raiz do seu projeto com o seguinte conteúdo
rvm use ree@meu-projeto
BINGO !
