2012-04-12 18 views
13

Amazon Linux 2012.03 kommt jetzt mit Ruby 1.9.3Amazon Linux neueste Rubin

es zu installieren (gemäß der Dokumentation)

sudo yum install ruby19 

Aber ruby -v1.8.7 zeigt. Wie würde ich es über 1.9.3 (Wenn es schon dort gibt es keine Notwendigkeit, RVM zu verwenden ja?)

Antwort

5

Ruby Version 1.9 sollte unter dem Namen ruby19 oder ruby1.9 verfügbar sein. ruby ist nur ein symbolischer Link, der auf die Standardversion von Ruby verweist.

+0

Ich bin nicht sicher, was du meinst. Der Versuch, die unter – Akshat

+0

$ ruby19 -v -bash: ruby19: Befehl nicht gefunden – Akshat

+1

Ich habe versucht, nur ruby19 aber ruby1.9 scheint den Trick zu tun – Akshat

7

Wenn Sie dies tun:

ls -l /usr/bin/ruby* 

Sie wird dies wahrscheinlich sehen:

lrwxrwxrwx 1 root root 7 Apr 26 18:27 /usr/bin/ruby -> ruby1.8 
-rwxr-xr-x 1 root root 3720 Mar 29 08:29 /usr/bin/ruby1.8 
-rwxr-xr-x 1 root root 3888 Mar 29 12:26 /usr/bin/ruby1.9 

Dieses gut selbst erklärt. Also, was Sie tun wollen ist:

rm /usr/bin/ruby && ln -s /usr/bin/ruby1.9 /usr/bin/ruby 
+1

danke, gefunden, dass wir das gleiche für Edelstein tun müssen – msanjay

+1

Manuelles Ändern der Symlinks funktioniert möglicherweise für jetzt, aber es kann auch später überschrieben werden, wenn ein Installer wie 'yum' aktualisiert. – danieljimenez

8

@ Antwort baboonWorksFine die Ergänzung, gibt es eine Reihe von 1,9-Befehle, die als ihre undecorated Äquivalente symlinked werden können. Was ich tat war:

sudo -s 
for f in /usr/bin/*1.9 
do 
    ln -s $f ${f%1.9} 
done 

Auf diese Weise verpassen Sie nicht versehentlich Befehle, die Aliasing benötigen.

+0

Das manuelle Ändern der symbolischen Verknüpfungen funktioniert möglicherweise jetzt, aber es kann später auch überschrieben werden, wenn ein Installationsprogramm wie "yum" aktualisiert wird. Der korrekte Weg in Amazon Linux ist die Verwendung des 'alternatives' Befehls. Siehe meine Antwort unten. – danieljimenez

0

Ich habe die Antwort von @Ian Dickinson verwendet, aber ein "f" zu den ln-Optionen hinzugefügt, um das Überschreiben der bestehenden Verbindung zu erzwingen. So ist der Code:

sudo -s 
for f in /usr/bin/*1.9 
do 
    ln -fs $f ${f%1.9} 
done 
18

Der richtige Weg, dies auf Amazon Linux zu tun ist:

sudo yum update (to get latest version of Amazon Linux (2013.09 at time of this answer) 
yum install ruby19 
alternatives --set ruby /usr/bin/ruby1.9 
+1

Dies sind die Schritte, die in den offiziellen Release Notes genannt werden: http://aws.amazon.com/amazon-linux-ami/2013.09-release-notes/ – brianz

6

Hier ist eine einfache Lösung und sauberer.

Das wird alle Ruby-Versionen auflisten, die Sie über yum installiert haben. Alles, was Sie tun müssen, ist die dort aufgeführte Nummer auszuwählen und Enter zu drücken.

+0

arbeitete für mich mit 'sudo Alternativen --config ruby' Rubin verwenden 2.2 – Lightbeard