当前位置: 首页>>技术教程>>正文


安装没有ruby-switch的ruby 2.0?

,

问题描述

我发现在最新的Ubuntu 14.04上安装ruby 2.0的任务相当令人沮丧。我知道我可以放弃这些软件包并从源代码安装-但如果可能的话,我宁愿安装一个软件包。

我在13.10上找到了关于红 gems 的问题/答案-看起来像我想要的。

How to install ruby?

不幸的是,该策略似乎不可行-ruby-switch软件包已在14.04中删除。

http://www.ubuntuupdates.org/package/core/trusty/universe/base/ruby-switch

该软件包的删除引用了a bug,对我来说,这似乎完全无关。

我很困惑为什么使用apt-get安装ruby2.0会安装ruby1.9并使其成为默认的ruby解释器。我确实得到了ruby2.0二进制文件-但是脚本(执行ruby时依赖于2.0解释器)不会将其提取。此外,当我使用gem et。等安装ruby软件包-这些似乎是为ruby1.9而不是2.0安装的。非常不满意。

任何人都可以提供有关将ruby 2.0安装为标准ruby解释器的最直接方法的提示吗?在没有ruby-switch的情况下,我应该如何从ruby 1.9切换到2.0?

最佳思路

对于14.04,我发现了Ruby 2.x随附的以下PPA

  • 将Ruby 2.1添加到Ubuntu 14.04

    sudo add-apt-repository ppa:brightbox/ruby-ng
    

我还在GoRails中找到了一个set of instructions,可以在14.04上安装Ruby,但是我猜因为他们很长,所以您想要一个PPA。

  • 将Ruby 1.9、2.0或2.1添加到Ubuntu 14.04

    sudo add-apt-repository ppa:brightbox/ruby-ng-experimental
    

添加其中之一后,只需:

sudo apt-get update
sudo apt-get install ruby2.1 # In the case you want 2.1

次佳思路

Debian版本的Ruby在同一系统上不支持多个ruby安装。存储库中的Debian obsoleted the packageUbuntu just removed it。您应该使用rbenv在不同的红 gems 版本之间切换。这是ruby-switch软件包说明中推荐的方法,也是bug 737782中讨论的方法,因为据说存储库中不应该只有一个版本的红 gems 。

在安装ruby2.0软件包时,默认情况下会安装Ruby 2.0,并且不需要其他操作。如果建议安装软件包ruby,建议将其删除。您的系统上应具有二进制文件/usr/bin/ruby2.0

第三种思路

sudo apt-get install ruby2.0
sudo rm /usr/bin/ruby && sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
sudo rm -fr /usr/bin/gem && sudo ln -s /usr/bin/gem2.0 /usr/bin/gem

第四种思路

如果要在红 gems 之间切换,建议使用rvm(https://rvm.io)。它是一个程序包管理器,它使您可以在一台计算机上安装许多不同的红 gems (不仅是Matz的),对于用户而言本地或对于所有用户而言都是全局的。

我知道您要求输入”package,”,所以这可能对您不起作用。但是我认为如果这是您的开发机器可能会有所帮助。

这样做的好处是,您可以为2.1.1安装一个gemset,为2.0或1.9.3安装另一个gemset,等等。它还允许您测试jruby,rubinius等,而无需将系统提交给一个。

我没有在生产中使用它,但显然它既适合开发又适合。

快速入门如下:https://rvm.io/rvm/install

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10734.html,未经允许,请勿转载。