Como instalar e usar diferentes versões do ruby?

15

Estou aprendendo trilhos de livros diferentes que usam versões diferentes de ruby ​​e trilhos. No momento, tenho o ruby ​​1.87 instalado no meu Mac OS X Snow Leopard (pol /usr/bin), mas também preciso usar o ruby ​​1.9 para um aplicativo de trilhos diferente.

Alguém pode me dizer como fazer isso funcionar? Eu sou novo nisso, portanto, o maior número possível de instruções seria muito apreciado.

Michael
fonte

Respostas:

20

Existem dois "gerenciadores de versão Ruby" disponíveis, que você pode escolher:

Isso permite que você mantenha várias versões do Ruby no mesmo sistema. Depois de instalar um gerenciador de versões e instalar sua própria versão do Ruby, você não mexerá com o Ruby e o Gems do seu sistema, o que é o maior benefício. Não mais sudo! Não há mais erros de permissões e conflitos de gemas.

Qual devo escolher?

Ambos fazem a mesma coisa, mas seguem filosofias diferentes. A escolha é sua.

Eu pessoalmente recomendo rbenvpor sua simplicidade. Uso-o há anos e sempre funcionou bem. Anteriormente, eu recomendaria o RVM (e uma versão anterior desta resposta realmente o mencionou), mas acho que é mais difícil entrar.

Como eu os instalo?

Se você escolher rbenv:

  • Siga as instruções de instalação
  • Instalar ruby-build
  • Executar rbenv install x.x.xonde x.x.xestá a versão (use rbenv install --listpara ver quais estão disponíveis
  • Execute rbenv global x.x.xpara alterar sua versão global do Ruby

Se você escolher RVM:

  • Use o método de instalação segura
  • Leia as instruções de instalação - você provavelmente deseja a configuração de usuário único
  • Use rvm list knownpara listar Rubis disponíveis e, em seguida, execute rvm install x.x.xpara instalar uma versão específica.
  • Use rvm use x.x.x --defaultpara alterar seu Ruby padrão
slhck
fonte
11
Veja também rbenv .
user1686
@rawity Por que não postar outra resposta? É bom ter alternativas, ainda não me dei conta rbenv.
slhck
muito obrigado, também ajuda a alternar entre versões do Rails? diferentes livros que eu estou usando empregam 3,05 (eu acho) e 3.1 e ele está causando problemas ...
Michael
Eu tentei a linha de instalação que você escreveu (e também está no site rvm) e recebeu uma mensagem de erro: bash: linha 152: git: comando não encontrado bash: linha 154: git: comando não encontrado
Michael
Ah, você precisa git, é claro. Desculpe, eu esqueci isso. Você pode instalar o Git com o instalador do OS X (basta selecionar a versão mais recente na parte superior).
slhck 27/09/11
7

Eu acho que o rbenv merece pelo menos sua própria resposta.

Há uma batalha constante entre os fãs do rbenv e os do RVM, mas eu pessoalmente gosto muito mais do rbenv. Como afirma Sam Stephenson (o autor), o rbenv se preocupa apenas em mudar as versões do Ruby (em oposição ao RVM, que faz muito mais).

No OS X, é especialmente fácil experimentá-lo. Basta seguir as excelentes instruções de instalação na página do Github (se você tiver o Homebrew instalado, é basicamente apenas um brew install rbenv ruby-build).

Quanto à mudança de versões do Rails, uma vez escrevi um artigo sobre o que seria do seu interesse.

Michael Trojanek
fonte
11
Aqui está uma breve descrição do autor do rbenv sobre as principais diferenças com o RVM e os motivos para escolher o rbenv. A simplicidade do rbenv foi a principal razão para eu migrar para longe do RVM. O gerenciamento de conjuntos de gemas específicas de aplicativos é melhor feito pela IMO com o Bundler - você não precisa de um gerenciador de versões Ruby para isso.
Jochem Schulenklopper
Exatamente - gerenciar conjuntos de gemas específicas de aplicativos é tarefa de Bundler . Eu nunca fui fã de gemsets vinculados a gerenciadores de versão.
Michael Trojanek