Ответ 1
Ruby версия 1.9 должна быть доступна под именем ruby19
или ruby1.9
. ruby
- это просто символическая ссылка, которая указывает на версию рубина по умолчанию.
Amazon Linux 2012.03 теперь поставляется с ruby 1.9.3
Чтобы установить его (согласно документам)
sudo yum install ruby19
Но ruby -v
показывает 1.8.7
. Как бы переключить его на 1.9.3 (если его уже там не было бы необходимости использовать RVM да?)
Ruby версия 1.9 должна быть доступна под именем ruby19
или ruby1.9
. ruby
- это просто символическая ссылка, которая указывает на версию рубина по умолчанию.
Правильный способ сделать это на Amazon Linux:
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
Дополняя @baboonWorksFine ответ, существует ряд команд 1.9, которые могут быть символически связаны как их некорректированные эквиваленты. Я сделал это:
sudo -s
for f in /usr/bin/*1.9
do
ln -s $f ${f%1.9}
done
Таким образом, вы не случайно пропускаете команды, которые нуждаются в псевдониме.
Если вы это сделаете:
ls -l /usr/bin/ruby*
вы, вероятно, увидите следующее:
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
Это хорошо объясняется. Итак, что вы хотите сделать:
rm /usr/bin/ruby && ln -s /usr/bin/ruby1.9 /usr/bin/ruby
Вот одно простое решение и очиститель.
alternatives --config ruby
Это будет список всех версий Ruby, которые вы установили через yum. Все, что вам нужно сделать, это выбрать номер, указанный там, и нажать Enter.
Я использовал @Ian Dickinson ответ, но добавил "f" к параметрам ln, чтобы заставить его перезаписать существующую ссылку. Таким образом, код:
sudo -s
for f in /usr/bin/*1.9
do
ln -fs $f ${f%1.9}
done