Como atualizar o Ruby para 1.9.x no Mac?

107

Eu criei uma nova conta de usuário no meu mac e estou tentando atualizar para a versão atual do ruby ​​nele (1.9.2) do leopardo da neve padrão de 1.8.7. Alguém pode me indicar um tutorial ou explicar o melhor método para atualizar Ruby no meu mac de 1.8 para 1.9.2? obrigado

banco de agentes 217
fonte

Respostas:

66

Vou fazer uma sugestão forte para o rvm .

É uma ótima maneira de gerenciar vários conjuntos de Rubis e gemas sem colidir com a versão do sistema.


Vou adicionar agora (2/4/2013), uso muito o rbenv , porque minhas necessidades são simples. O RVM é ótimo, mas tem muitos recursos de que nunca preciso, então o tenho em algumas máquinas e o rbenv no meu desktop e laptop. Vale a pena conferir ambos e ver qual funciona melhor para suas necessidades.

o homem de lata
fonte
Acordado. E mesmo que várias versões não sejam um problema (ha!), O rvm é ótimo para descobrir quais bibliotecas nativas estão faltando. Praticamente indispensável.
Isaac Rabinovitch
198

Como The Tin Man sugere (acima) RVM ( Ruby Version Manager ) é o padrão para atualizar sua instalação Ruby no OSX: https://rvm.io

Para começar, abra uma janela de terminal e emita o seguinte comando:

\curl -L https://get.rvm.io | bash -s stable --ruby

(você precisará confiar no RVM Dev Team que o comando não é malicioso - se você for um pinguim paranóico como eu, você sempre pode ler a fonte : https://github.com/wayneeseguin/rvm ) Quando estiver completo você precisa reiniciar o terminal para fazer o rvmcomando funcionar.

rvm list known

(mostra as últimas versões disponíveis do Ruby)

rvm install ruby-2.3.1

Para uma versão específica, seguida por

rvm use ruby-2.3.1

ou se você deseja apenas a versão mais recente (atual):

rvm install current && rvm use current

(instala a versão estável atual - no momento de escrever ruby-2.3.1 - atualize este wiki quando novas versões forem lançadas)

Nota sobre a compilação de Ruby : No meu caso, também tive que instalar o Homebrew http://mxcl.github.com/homebrew/ para obter as joias de que precisava ( RSpec ), o que, por sua vez, força você a instalar o Xcode (se ainda não o fez ) https://itunes.apple.com/us/app/xcode/id497799835 E / OU instale o pacote GCC de: https://github.com/kennethreitz/osx-gcc-installer para evitar erros ao executar " make ".

Edit: No Mavericks, você pode escolher instalar apenas as ferramentas de linha de comando do Xcode em vez de todo o pacote Xcode, que vem com o gcc e muitas outras coisas que você pode precisar para construir pacotes. Ele pode ser instalado executando xcode-select --installe seguindo o prompt na tela.

Nota sobre os erros : se obtiver o erro " RVM não é uma função " ao tentar este comando, visite: Como faço para alterar minha versão de Ruby usando RVM? para a solução.

nelsonic
fonte
Definir tudo isso no Mountain Lion requer muita paciência. Se você encontrar um erro "Erro ao executar 'env GEM_PATH = / Usuários / ...", não são seus caminhos e você verá no log que o openssl (que provavelmente está instalado) foi interrompido no RVM e eles fornecem um página sobre como trabalhar nele rvm.io/packages/openssl
Dylan Valade
4
Eu realmente odeio a bagunça que é Ruby. É uma confusão. No entanto, essa resposta me colocou no caminho certo e muito obrigado por isso!
Ian Lewis
1
Vagando entre posts que me levam a outros problemas, achei este muito útil porque explica como usar o RVM, não apenas como usá-lo.
Hector Ordonez
19

Com a cerveja, este é um one-liner:

(assumindo que você selecionou homebrew / versões, o que pode ser feito executando brew tap homebrew/versions)

brew install ruby193

Funcionou fora da caixa para mim no OS X 10.8.4. Ou se você quiser 2.0, você apenasbrew install ruby

De forma mais geral, brew search rubymostra os diferentes repositórios disponíveis e, se você quiser ser realmente específico, pode usar brew versions rubye verificar uma versão específica.

Nils
fonte
1
Excelente one-liner para instalar uma versão específica do ruby! alternar entre as versões ruby ​​com fermentação não é tão fácil ... stackoverflow.com/questions/8730676
nelsonic
4

Sei que é um post antigo, mas gostaria de acrescentar algumas informações extras sobre isso. Em primeiro lugar, acho que rvmé ótimo, mas não estava atualizando o Ruby do meu sistema (MAC OS Yosemite).

O que rvmestava fazendo: instalando em outro local e configurando o caminho lá para a minha variável de ambiente ... E eu estava meio entediado, porque agora tinha dois rubis no meu sistema.

Para consertar isso, desinstalei o rvm, usei o gerenciador de pacotes Homebrew disponível aqui e instalei o comando ruby ​​throw terminal fazendo brew install ruby.

E então, tudo estava funcionando perfeitamente! O rubi do meu sistema foi atualizado! Espero que ajude os próximos aventureiros!

Damiii
fonte
1
Eu estava lutando para decidir se deveria usar rvmou brew. isso ajuda. obrigado
unifreak
A cerveja não faz a mesma coisa?
anon
3

Eu discordo do homem de lata aqui. Considero o rbenv preferível ao RVM. rbenvnão interfere drasticamente em seu shell da maneira que o RVM faz e permite adicionar instalações Ruby separadas em pastas comuns que você pode examinar diretamente. Ele permite que você compile Ruby sozinho. Um bom esboço das diferenças aqui: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Eu forneço instruções para compilar Ruby 1.9 para rbenv aqui . Além disso, informações mais detalhadas aqui . Usei essa técnica com sucesso no Snow Leopard, Lion e Mountain Lion.

mate
fonte
1
Na época em que esta pergunta foi feita originalmente, rbenv não era uma opção. Os tempos mudam, assim como o código. RVM ainda é uma boa escolha, mas é pesado em comparação ao rbenv. Eu uso os dois em máquinas diferentes, porque ambos são úteis de maneiras diferentes.
The Tin Man
2

Artigo Hivelogic de Dan Benjamin Instalando Ruby, RubyGems e Rails no Snow Leopard é o lugar recomendado para ir embora o artigo seja para 1.8, então aqui está uma instalação específica do Ruby 1.9 no Snow Leopard . Cuidado com a coisa de 64 bits ... ou vá todo 'gordo' de 64 bits (como é - por exemplo - o Apache no OS X, que pode causar problemas com bibliotecas de 32 bits) ou verifique quaisquer joias que você provavelmente para usar para garantir que eles sejam adequados para 64 bits.

Dave Everitt
fonte
2

Este comando realmente funciona

\curl -L https://get.rvm.io | bash -s stable --ruby

Anthony
fonte
0

Como mencionado anteriormente, a versão do bundler pode ser muito alta para a sua versão de trilhos.

Eu tive o mesmo problema usando Rails 3.0.1, que requer Bundler v1.0.0 - v1.0.22

Verifique sua versão do bundler usando: gem list bundler

Se a sua versão do bundler não estiver dentro do intervalo apropriado, descobri que esta solução funciona: rvm @global do gem uninstall bundler

Nota: o rvm é necessário para esta solução ... outro caso para explicar por que você deveria usar o rvm em primeiro lugar.

whiteshooz
fonte
0

Existem vários outros gerenciadores de versão a serem considerados, veja alguns exemplos e um que não está listado lá que irei tentar em breve é ch-ruby . Tentei o rbenv, mas tive muitos problemas com ele. RVM é meu esteio, embora às vezes tenha um problema estranho (daí o meu desejo de tentar ch-ruby quando tiver uma chance). Eu não tocaria no sistema Ruby, pois outras coisas podem depender dele.

Devo acrescentar que também compilei meu próprio Ruby várias vezes e usar o artigo da Hivelogic (como Dave Everitt sugeriu) é uma boa ideia se você seguir esse caminho.

iain
fonte