0

我正在使用旧版 Rails 系统。我需要一份 ruby​​ 1.8.7 的副本 我刚刚在工作中获得了一台新计算机(终于),它有 ubuntu 12.04

不幸的是,我刚刚发现可用于我的系统的 rvm-rubies 不包含 1.8.7(请参见下面的列表)

如何安装 ruby​​ 1.8.7?我可以指出另一个可以使用的来源吗?

请注意:我没有使用 apt-get 安装 rvm,这不是问题

这是可用红宝石的列表:

# Rubies available for 'ubuntu/12.04/x86_64':

   ruby-1.9.3-p194
   ruby-1.9.3-p286
   ruby-1.9.3-p327
   ruby-1.9.3-p362
   ruby-1.9.3-p374
   ruby-1.9.3-p392
   ruby-1.9.3-p429
   ruby-1.9.3-p448
   ruby-2.0.0-p0
   ruby-2.0.0-p195
   ruby-2.0.0-p247

编辑:

请注意,这里是一些更简单的 rvm 命令的输出:

triton:[~]% rvm list  

rvm rubies

# No rvm rubies installed yet. Try 'rvm help install'.

并且 rvm install 给出了这个消息(这表明标准存储库中没有 1.8.7 版本)。

triton:[~]% rvm install 1.8.7
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/12.04/x86_64/ruby-1.8.7-p374.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
You requested building with 'gcc-4.4' but it is not in your path.
4

3 回答 3

1

从文档中:

要从存储库安装特定标记版本的 ruby​​,我们指定 -t(标记名称)。

然后它继续谈论分支......

存储库分支 (MRI)

要从存储库安装特定分支版本的 ruby​​,我们指定 --branch(分支名称)。命名的红宝石可以帮助避免冲突。

$ rvm install ruby-head -n zombie --branch ruby_1_8 && rvm ruby-head-zombie
$ ruby -v
ruby 1.8.8dev (2012-05-21) [i386-darwin10.8.0]
$ rvm install ruby-head -n newborn && rvm ruby-head-newborn
$ ruby -v
ruby 2.0.0dev (2012-06-03 trunk 35876) [x86_64-darwin10.8.0]

您将在 ruby​​ 存储库中找到所有有效分支的列表:http: //svn.ruby-lang.org/repos/ruby/branches/

您可以访问的内容远不止显示的内容。

ruby_1_3/
ruby_1_4/
ruby_1_6/
ruby_1_8/
ruby_1_8_5/
ruby_1_8_6/
ruby_1_8_7/
ruby_1_9_1/
ruby_1_9_2/
ruby_1_9_3/
ruby_2_0_0/

RVM官方网站上的更多提示

此外,如果需要更多帮助,freenode.net 上的 IRC 聊天室也很棒!

于 2013-07-17T08:29:11.420 回答
0

您提供的内容是来自rvm list remote- 列出系统的二进制(已编译)红宝石的输出,以查看更多可能的版本运行选择,rvm list其中包括1.8.7

# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p448]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p247]
[ruby-]2.0.0-head
ruby-head

它继续与其他红宝石发行版的数量。

如果不确定你总是可以运行:

rvm install 1.8.7

RVM 会进行各种检测,并且很可能知道如何处理指定版本。

于 2013-07-17T09:57:35.233 回答
0

供将来参考:我想通了。

重要的线索在 rvm install 结果的最后一行:

You requested building with 'gcc-4.4' but it is not in your path.

我有 gcc 4.6 版,但我的 .zshrc(从我以前的计算机复制)指向这个旧版本。

因此,rvm 认为我没有 c 编译器。这意味着 rvm 无法从源代码安装任何红宝石 - 只能安装预编译的红宝石 - 这意味着它仅限于那些已经为我的平台预编译的红宝石(即 64 位 ubuntu 12.04)

当我在我的 .zshrc 中修复 gcc 行时 - rvm 能够弄清楚如何安装+编译源代码红宝石 - 包括 v1.8.7

于 2013-07-17T23:49:30.713 回答