Installer ruby ​​2.2.3 via apt

16

Comment installer Ruby 2.2.3 via apt sur Ubuntu Wily? J'ai essayé sudo apt-get install ruby2.2-devet sudo apt-get install ruby2.2(Quelle est la différence, btw) et les deux commandes semblent avoir installé pas mal de tas. Cependant, il n'y a pas d'exécutable ruby ​​par la suite.

Michiel de Mare
la source
vous installez absolument voulez installer ruby ​​2.2.3 via apt? Le package * -dev contient des en-têtes et des fichiers qui * peuvent avoir besoin de fonctionner correctement. consultez le ruby-lang.org officiel, il contient les informations dont vous avez besoin pour installer correctement ruby ​​2.2.3
enzo
veuillez vous référer si c'est utile [ gorails.com/setup/ubuntu/15.10]
Ravan
1
@maetsoh Pourquoi devrais-je installer chaque paquet avec apt, sauf ruby? J'aime les gestionnaires de paquets.
Michiel de Mare
Ruby fait-il partie du mécanisme des «alternatives» sur Ubuntu? Sinon, il pourrait être utile d'utiliser quelque chose comme rbenv pour gérer les installations Ruby. Surtout si vous devez utiliser différentes versions de Ruby en même temps. La liaison souple peut devenir un peu fastidieuse lors du développement de Rails, etc.
J'utilise rbenv localement pour changer de version, donc ça vaut le coup, mais en production, je n'ai besoin que d'une version rubis, puis je préfère le gestionnaire de paquets standard. Je vais lire sur le mécanisme des "alternatives". ( manpages.ubuntu.com/manpages/vivid/en/man8/… )
Michiel de Mare

Réponses:

7

apt-get install ruby2.2vous donne un exécutable ruby ​​- il s'appelle simplement ruby2.2. Gem et irb sont les mêmes (c'est-à gem2.2 install bundler- dire que cela fonctionnera, irb2.2vous donnera une invite irb.)

C'est normal dans Ubuntu et le système d'alternatives signifie généralement que vous n'avez pas à vous en soucier, mais pour une raison quelconque, ruby ​​n'est pas géré par des alternatives dans Ubuntu. Mais nous pouvons le faire:

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

L'exécution de ceci enregistrera ruby ​​avec le système alternatif et, comme il n'y a qu'un seul choix, défini ruby 2.2par défaut. Cela créera des liens symboliques et vous permettra d'utiliser ruby/ gem/ etc. sans ajouter 2.2 à la fin.

Il s'agit d'une version légèrement mise à jour des instructions disponibles sur https://leonard.io/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/

Edmund
la source
update-alternatives: erreur: une gemme alternative ne peut pas être esclave de rubis: c'est une alternative maîtresse
Yevgen Kulik
17

Ok, cela a fonctionné pour moi au moins sur vif:

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

Sur rusé, j'obtiens une erreur car l'URL http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/wily/main/binary-amd64/est manquante, il n'y en a que http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/devel/main/binary-amd64/.

Michiel de Mare
la source
idem sur debian jessie: /
holms