Salve salve abstratos como vocês estão? Meu amigo Weverton já deu o chute inicial usando em um assunto que, já tem um tempo, estou querendo postar pra vocês, ele falou nesse e nesse post sobre Ruby on Rails, mas eu vou falar de algo mais voltado ao nosso ambiente de trabalho, o RVM!
Antes de mais nada, o que é RVM?
RVM significa Ruby Versions Manager, ou um gerenciador de versões Ruby. E daí você vira pra mim e pergunta: Pô Brunno, mas pra que eu vou precisar de gerenciador de versões para o Ruby?
E é aí que entra a resposta bacana: Meu amigo, o RVM não serve somente para gerenciar várias versões de Ruby, ele também server para criar conjuntos de gems específicas para cada um de seus projetos! Não é mágico?Agora vou explicar alguns conceitos básicos e depois vamos ao passo à passo de instalação.
Antes de tudo vamos entender os termos usados nesse tutorial.
Rubie – é uma versão do Ruby instalada em seu RVM;
Gemset – é como uma pasta de gems que pode ser atribuída a suas Rubies.
Agora que já sabemos o que são Rubies e o que são gemsets, podemos passar ao funcionamento do RVM, que é bem simples: você instala o RVM, depois instala uma versão do Ruby na RVM, em seguida cria uma gemset, instala as gems que você vai usar e só sair pro abraço.
Simples assim?!
É! Simples assim!
PASSO 1 – Instalação do RVM
Abra seu terminal e digite o seguinte comando mágico:
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
Siga as instruções e pronto, já instalamos o RVM, viu como é facil?
PASSO 2 – Instalação do Ruby
Agora com a RVM instalada, vamos instalar as versões do Ruby que desejamos, nesse exemplo vamos usar o Ruby 1.8.7, ainda no terminal digite:
rvm install 1.8.7
Ok, Ruby 1.8.7 instalado, agora vamos dar uma olhadinha básica no que temos em nossa RVM, digite esse comando:
rvm list
Você deverá ver algo assim:
rvm rubies ruby-1.8.7-p352 [ x86_64 ] ruby-1.9.2-p290 [ x86_64 ]
No meu exemplo, eu tenho a versão 1.8.7 e também a versão 1.9.2, então vamos aprender como alternar entre as Rubies instaladas em nosso sistema, digite:
rvm use 1.8.7
Agora você está usando sua versão 1.8.7, se você utilizar o comando gem list do Ruby você vai perceber que suas gems não estão mais aí, isso porque agora você está dentro da Rubie 1.8.7, que não tem nenhuma gem instalada ainda, você pode rodar o comando rvm list que irá listar novamente suas Rubies, porém agora com o marcador => mostrando qual Rubie você está usando no momento.
Agora vamos aprender a voltar para o Ruby do nosso sistema, digite o seguinte comando:
rvm use system
Ok, se você rodar seu gem list agora verá suas gems, mas esse é o Ruby do seu sistema, ele não tem nada a ver com as Rubies do RVM.
Agora que já sabemos alternar entre nossos ambientes Ruby e também sabemos verificar qual ambiente estamos usando no momento você já consegue trabalhar com várias versões do Ruby tranquilamente, além de poder instalar suas gems sem usar o comando de super usuário sudo, o que a galera do RVM acha que é um hábito ruim, porém se você quer mais, ou melhor, se você quer ir mais a fundo e descobrir as maravilhas de usar um conjunto de gems específico para cada um de seus projetos, basta ficar sentadinho aí e continuar lendo esse post! hehehehe
PASSO 3 – Criando uma Gemset
Ainda no terminal, vamos criar nossa primeira gemset, e vamos chamá-la de abstraindo, mas lembrem-se que uma gemset deve estar dentro de uma Rubie, então escolha uma de suas Rubies com o comando rvm use <versão da Rubie> e em seguida rode esse comando:
rvm gemset create abstraindo
Legal, já temos nossa gemset, vamos ver? Rode:
rvm gemset list
Demais! Melhor que criar nossa gemset é usá-la!! Então digite isso:
rvm gemset use abstraindo
Agora vocês já podem sair instalando suas gems nessa gemset e usá-la somente para seu projeto Abstraindo, e quando forem fazer outro projeto, criem outra gemset! Simples né?!
Eu costumo usar as gemsets usando um comando um pouco diferente, onde eu seto manualmente o Rubie e depois a gemset, eu uso esse maroto aqui:
rvm use 1.8.7@abstraindo
Bom galerinha esperta, como vocês já devem ter analisado, o comando que mostra em qual gemset estamos, é o rvm gemset list, com ele você vê onde está!
Esses são os comandos básicos para começarmos a utilizar o RVM e conseguir uma integridade de ambiente com projeto, alguns prontos podem ser ressaltados aqui:
- O RVM instala suas Rubies e gemsets em sua pasta de usuário, fazendo com que você consiga instalar as gems sem precisar rodar comandos com sudo;
- Cada Rubie e cada gemset tem sua pasta dentro de sua pasta de usuário, isso garante que uma lista não interfira na outra, portanto vale lembrar que ao instalar uma gem em uma Rubie/gemset essa mesma precisa ser instalada também em outra Rubie/gemset se você quiser utilizá-la em outro projeto;
- O comando mágico que mostra onde estão todas as informações de suas Rubies é:
rvm info
Bom abstratos, por enquanto essas minhas dicas para o uso do RVM, é lógico que tem muita coisa ainda a aprender, como por exemplo exportar suas gems de um gemset para outro e várias outras coisas que podem ser encontradas aqui ou então postadas futuramente aqui no blog.
Grande abraço






