13

Amazon Linux 2012.03 now comes with ruby 1.9.3

To install it (as per the docs)

sudo yum install ruby19

But ruby -v shows 1.8.7. How would I switch it over 1.9.3 (If its already there there would be no need to use RVM yes?)

4

6 回答 6

19

在 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
于 2013-10-18T17:39:27.537 回答
8

补充@baboonWorksFine 的答案,有许多 1.9 命令可以符号链接为它们的未修饰等效项。我所做的是:

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

这样,您就不会意外错过任何需要别名的命令。

于 2012-10-16T10:12:13.747 回答
7

如果你这样做:

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
于 2012-05-01T02:02:44.553 回答
6

这是一种简单的解决方案和清洁剂。

alternatives --config ruby

这将列出您通过 yum 安装的所有 Ruby 版本。您所要做的就是选择那里列出的数字并按回车键。

于 2014-07-01T23:41:49.150 回答
5

Ruby 版本 1.9 应以名称ruby19ruby1.9. ruby只是一个指向默认版本 ruby​​ 的符号链接。

于 2012-04-12T18:09:28.367 回答
0

我使用了@Ian Dickinson 的答案,但在 ln 选项中添加了一个“f”以强制它覆盖现有链接。所以代码是:

sudo -s
for f in /usr/bin/*1.9
do
  ln -fs $f ${f%1.9}
done
于 2013-03-22T21:07:47.747 回答