Instale o ruby ​​2.2.3 via apt

16

Como instalar o Ruby 2.2.3 via apt no Ubuntu Wily? Eu tentei sudo apt-get install ruby2.2-deve sudo apt-get install ruby2.2(Qual é a diferença, btw) e ambos os comandos parecem ter instalado bastante. No entanto, não há executável ruby ​​depois.

Michiel de Mare
fonte
você absolutamente instala quer instalar o ruby ​​2.2.3 via apt? O pacote * -dev contém cabeçalhos e arquivos que * podem precisar funcionar corretamente. verifique o ruby-lang.org oficial que contém as informações necessárias para instalar o ruby ​​2.2.3 corretamente
enzo
por favor, consulte se é útil [ gorails.com/setup/ubuntu/15.10]
Ravan
11
@maetsoh Por que eu instalaria todos os pacotes com o apt, exceto o ruby? Eu gosto de gerenciadores de pacotes.
Michiel de Mare
O Ruby faz parte do mecanismo "alternativas" no Ubuntu? Caso contrário, pode valer a pena usar algo como rbenv para gerenciar instalações do Ruby. Especialmente se você precisar usar versões diferentes do Ruby ao mesmo tempo. A vinculação suave pode se tornar um pouco cansativa ao desenvolver o desenvolvimento do Rails, etc. #
Eu uso o rbenv localmente para alternar versões, então vale a pena o aborrecimento. Vou ler sobre o mecanismo "alternativas". ( manpages.ubuntu.com/manpages/vivid/en/man8/… )
Michiel de Mare

Respostas:

7

apt-get install ruby2.2fornece um executável ruby ​​- é chamado apenas de ruby2.2. Gem e irb são os mesmos (ou seja gem2.2 install bundler, funcionarão, irb2.2fornecerão um prompt de irb.)

Isso é normal no Ubuntu e o sistema de alternativas geralmente significa que você não precisa se preocupar com isso, mas por qualquer motivo, o ruby ​​não é gerenciado por alternativas no Ubuntu. Mas nós podemos fazer isso:

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.2 400 \
 --slave /usr/bin/rake rake /usr/bin/rake2.2 \
 --slave /usr/bin/ri ri /usr/bin/ri2.2 \
 --slave /usr/bin/rdoc rdoc /usr/bin/rdoc2.2 \
 --slave /usr/bin/gem gem /usr/bin/gem2.2 \
 --slave /usr/bin/irb irb /usr/bin/irb2.2 \
 --slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby2.2.1.gz \
 --slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake2.2.1.gz \
 --slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri2.2.1.gz \
 --slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc2.2.1.gz \
 --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem2.2.1.gz \
 --slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb2.2.1.gz

A execução disso registrará o ruby ​​no sistema de alternativas e, como há apenas uma opção, será definida ruby 2.2como padrão. Isso criará links simbólicos e permitirá que você use ruby/ gem/ etc. sem adicionar 2.2 no final.

Esta é uma versão ligeiramente atualizada das instruções encontradas em https://leonard.io/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/

Edmund
fonte
update-alternatives: Erro: gem alternativa não pode ser escravo de rubi: é uma alternativa mestre
Yevgen Kulik
17

Ok, isso funcionou para mim no mínimo vívido:

sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.2 ruby2.2-dev

Em wily, recebo um erro porque o URL http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/wily/main/binary-amd64/está faltando, há apenas http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/devel/main/binary-amd64/.

Michiel de Mare
fonte
mesmo no debian jessie: /
holms