Oi, pessoal
Eu estava vendo o passo a passo das instalações necessárias e fiquei em dúvida sobre o uso do RVM. Por que utilizá-lo? Eu não poderia simplesmente instalar via apt? Qual a diferença?
Obrigada,
Oi, pessoal
Eu estava vendo o passo a passo das instalações necessárias e fiquei em dúvida sobre o uso do RVM. Por que utilizá-lo? Eu não poderia simplesmente instalar via apt? Qual a diferença?
Obrigada,
Bom dia Cassia!
O RVM vem pra ajudar a criarmos um ambiente de desenvolvimento isolado do sistema operacional. Quando damos o apt-get estamos instalando uma versão Ruby globalmente, mas isso pode gerar problemas.
Vamos a um exemplo:
Imagine que você estava desenvolvendo uma software em Ruby mega revolucionário e deu o nome de ChurrosApp.
O seu sistema usa uma biblioteca do Ruby chamada "doce-de-leite" na versão 1.0.
Porém passou um tempo e você viu que seu ChurrosApp não era tão promissor e decidiu criar um novo sistema chamado SonhoApp.
Por coincidência o SonhoApp também usa a biblioteca "doce-de-leite" só que na sua versão 2.0.
Aí nós inocentemente iremos fazer o que? Dar um update na biblioteca para a versão 2.0 certo?
Então me diga: O que acontecerá caso quisermos retomar o desenvolvimento da aplicação ChurrosApp (juntamente da aplicação SonhoApp)?
Resposta: Caso você tenha instalado a biblioteca no diretório padrão do sistema operacional (o que normalmente o apt-get faz) somente uma aplicação irá funcionar!
Se utilizarmos o RVM conseguimos criar um ambiente isolado pra cada aplicação, assim não teremos conflitos nas bibliotecas.
O mesmo exemplo serve se quisermos utilizar versões diferentes do Ruby (Se tivermos, por exemplo, que fazer manutenção em uma aplicação antiga).
Espero ter ajudado! :D
Oi!
Claro que ajudou! =)
Perfeitamente entendido.
Então no fim das contas, eu posso ter várias versões do Ruby instaladas, tudo via RVM. E eu usaria o RVM mesmo para definir qual versão eu quero usar, certo?
Vi que eu poderia usar este comando para definir que eu quero usar a versão 2.2.1, por exemplo:
$ rvm use 2.2.1
Mas qual é o escopo de uso dessa versão? Vale para essa sessão no terminal, por exemplo?
Obrigada,