Installiere ruby ​​2.2.3 über apt

16

Wie installiere ich Ruby 2.2.3 über apt auf Ubuntu Wily? Ich habe versucht sudo apt-get install ruby2.2-devund sudo apt-get install ruby2.2(Was ist der Unterschied, übrigens) und beide Befehle scheinen ziemlich viel installiert zu haben. Danach ist jedoch kein Ruby ausführbar.

Michiel de Mare
quelle
willst du ruby ​​2.2.3 unbedingt über apt installieren? Das * -dev-Paket enthält Header und Dateien, die * möglicherweise für eine ordnungsgemäße Funktion benötigen. Besuche die offizielle ruby-lang.org es die Informationen , die Sie richtig ruby 2.2.3 installieren müssen enthält
enzo
Bitte sehen Sie nach, ob es nützlich ist [ gorails.com/setup/ubuntu/15.10]
Ravan
1
@maetsoh Warum sollte ich jedes einzelne Paket mit apt installieren, außer Ruby? Ich mag Paketmanager.
Michiel de Mare
Ist Ruby Teil des "Alternativen" -Mechanismus unter Ubuntu? Andernfalls lohnt es sich möglicherweise , Ruby-Installationen mithilfe von rbenv zu verwalten. Vor allem, wenn Sie verschiedene Ruby-Versionen gleichzeitig verwenden müssen.
Ich benutze rbenv lokal, um die Version zu wechseln, es lohnt sich also. Aber in der Produktion brauche ich nur 1 Ruby-Version und dann bevorzuge ich den Standard-Paket-Manager. Ich werde mich über den Mechanismus der "Alternativen" informieren. ( manpages.ubuntu.com/manpages/vivid/en/man8/… )
Michiel de Mare

Antworten:

7

apt-get install ruby2.2gibt Ihnen eine ausführbare Ruby-Datei - es heißt nur ruby2.2. Gem und irb sind gleich (dh gem2.2 install bundlerfunktionieren, irb2.2geben dir eine irb-Eingabeaufforderung)

Dies ist in Ubuntu normal und das Alternativsystem bedeutet im Allgemeinen, dass Sie sich nicht darum kümmern müssen, aber aus irgendeinem Grund wird Ruby in Ubuntu nicht von Alternativen verwaltet. Aber wir können es schaffen:

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

Wenn Sie dies ausführen, wird Ruby beim alternativen System registriert und ruby 2.2als Standard festgelegt, da es nur eine Auswahl gibt . Dies wird Symlinks erstellen und Sie lassen ruby/ gemohne Zusatz von 2.2 auf Ende / usw..

Dies ist eine leicht aktualisierte Version der Anleitung unter https://leonard.io/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/

Edmund
quelle
update-alternatives: error: alternatives gem kann kein rubinsklave sein: es ist eine meister-alternative
yevgen kulik
17

Ok, das hat bei mir auf jeden Fall lebhaft geklappt:

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

Auf wily bekomme ich eine Fehlermeldung, weil die URL http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/wily/main/binary-amd64/fehlt, es gibt nur http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/devel/main/binary-amd64/.

Michiel de Mare
quelle
dasselbe auf debian jessie: /
holms