我正在使用传统的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.
答案 0 :(得分: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/
的更多提示
此外,为了获得更多帮助,freenode.net上的IRC聊天室非常棒!
答案 1 :(得分: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会执行所有类型的检测,并且很可能知道如何处理指定的版本。
答案 2 :(得分: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