【问题标题】:Amazon Linux latest ruby亚马逊 Linux 最新红宝石
【发布时间】:2012-04-25 03:11:46
【问题描述】:

Amazon Linux 2012.03 现在随附 ruby​​ 1.9.3

安装它(根据文档)

sudo yum install ruby19

但是ruby -v 显示1.8.7。我将如何将其切换到 1.9.3(如果它已经存在,则无需使用 RVM 是吗?)

【问题讨论】:

    标签: ruby amazon-ec2 amazon


    【解决方案1】:

    在 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
    

    【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 目前手动修改符号链接可能有效,但稍后当yum 等安装程序更新时,它也可能会被覆盖。 Amazon Linux 中的正确方法是使用alternatives 命令。请参阅下面的答案。
    【解决方案3】:

    如果你这样做:

    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
    

    【讨论】:

    • 手动修改符号链接目前可能有效,但也可能在稍后更新 yum 等安装程序时被覆盖。
    【解决方案4】:

    这是一个简单的解决方案和清洁器。

    alternatives --config ruby
    

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

    【讨论】:

    • sudo alternatives --config ruby 一起为我工作以使用 ruby​​ 2.2
    【解决方案5】:

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

    【讨论】:

    • 我不确定你的意思。试试下面的
    • 是的,抱歉,我不确定是哪一个。
    【解决方案6】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      相关资源
      最近更新 更多