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?)
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?)
在 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
这将列出您通过 yum 安装的所有 Ruby 版本。您所要做的就是选择那里列出的数字并按回车键。
Ruby 版本 1.9 应以名称ruby19
或ruby1.9
. ruby
只是一个指向默认版本 ruby 的符号链接。
我使用了@Ian Dickinson 的答案,但在 ln 选项中添加了一个“f”以强制它覆盖现有链接。所以代码是:
sudo -s
for f in /usr/bin/*1.9
do
ln -fs $f ${f%1.9}
done