Estou achando a tarefa de instalar o ruby 2.0 no último Ubuntu 14.04 bastante frustrante. Estou ciente de que poderia renunciar aos pacotes e instalar a partir do código-fonte - mas prefiro instalar um pacote - se isso for possível.
Encontrei esta pergunta / resposta sobre ruby em 13.10 - que parecia o que eu queria.
Infelizmente, a estratégia não parece viável - o pacote ruby-switch foi excluído na 14.04.
http://www.ubuntuupdates.org/package/core/trusty/universe/base/ruby-switch
A exclusão do pacote faz referência a um bug que, para mim, parece totalmente não relacionado.
Estou confuso sobre por que instalar o ruby2.0 usando o apt-get instala o ruby1.9 e o torna o interpretador padrão de ruby. Eu recebo um binário ruby2.0 - mas os scripts (que dependem de um interpretador 2.0 ao executar o ruby) não o captam. Além disso, quando eu uso gem et. al. instalar pacotes ruby - estes parecem ter sido instalados no ruby1.9 em vez do 2.0. Muito insatisfatório.
Alguém pode oferecer uma dica sobre a maneira mais direta de instalar o ruby 2.0 como intérprete padrão do ruby? Como devo mudar do ruby 1.9 para o 2.0 sem o ruby-switch?
fonte
A versão Debian do Ruby não suporta várias instalações de ruby no mesmo sistema. O Debian obsoleta o pacote e o Ubuntu apenas o removeu dos repositórios. Você deve usar
rbenv
para alternar entre diferentes versões do ruby. Essa é a maneira recomendada pela descrição do pacote ruby-switch e foi o método que foi discutido no bug 737782 como preferencial, já que foi dito que não deveria haver mais do que apenas uma versão do ruby nos repositórios.O Ruby 2.0 é instalado por padrão ao instalar o
ruby2.0
pacote e nenhuma outra ação é necessária. Se o pacoteruby
foi instalado, é recomendável removê-lo. Você deve ter o binário/usr/bin/ruby2.0
disponível no seu sistema.fonte
fonte
ln -fs
forçar a atualização e evitar o uso do sempre assustadorrm -rf
Se você deseja alternar entre rubis, recomendo usar o rvm ( https://rvm.io ). É um gerenciador de pacotes e permite instalar muitos rubis diferentes (não apenas os Matz) em uma máquina, local para o usuário ou globalmente para todos os usuários.
Sei que você pediu um "pacote", então talvez isso não funcione para você. Mas achei que poderia ajudar se esta for sua máquina de desenvolvimento.
A vantagem de fazer desta maneira é que você pode instalar um gemset para 2.1.1 e outros para 2.0 ou 1.9.3, etc. Também permite testar jruby, rubinius, etc., sem comprometer seu sistema.
Não estou usando na produção, mas aparentemente é adequado tanto para isso quanto para o desenvolvimento.
Aqui está o início rápido: https://rvm.io/rvm/install
fonte
No final do jogo, mas acho que talvez seja uma solução mais completa do que os links simbólicos codificados
update-alternatives
, postados aqui aqui, caso outros sejam mordidos pela mesma frustração e desejem uma solução mais nativa. Isso lida com todos os binários e páginas de manual, removendo preventivamente as referências primeiro para evitar conflitos.Ressalvas:
update-alternatives
por isso é possível que isso seja um exagero e / ou seja feito com desdém.Script (eu nomeei
fix-ruby-alternatives.sh
):fonte
${RECMD}
e${CMD}
sem aspas, em vez de usareval
. Em outra nota: eu vou pedir emprestado "kludgingly". :)