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,
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.1Mas qual é o escopo de uso dessa versão? Vale para essa sessão no terminal, por exemplo?
Obrigada,