有没有一种简单的方法可以在 Fedora 11 或 12 上安装 Ruby 1.8.7,而不必过于严格地绕过 yum/RPM 包管理系统?从源代码构建始终是一种选择,但它往往会在不规则的地方部署东西,而且从长远来看维护起来更加麻烦。
自建 RPM 是可以的,但我猜想某个地方已经有一个 .rpm 了。Rails 对 1.8.6 不是特别满意,而 Fedora 社区出于各种原因认为 1.8.7 是有害的,最好避免使用。
编辑:
我收到的一个建议是使用虚拟机
答案1
RVM 目前可能无法在 Fedora 12 上运行。问题在于针对 F12 打包的 openssl-1.0.0(beta 3 或 4)版本编译 Ruby:它不起作用。
Ruby Core 社区已经意识到了这个问题,并修复了它。该代码已在 ruby1-8-8 和 ruby1-9.x 开发分支中进行了修补。但是,使用 RVM 很难获得这些补丁。RVM 将从“稳定”存储库(不确定这是否是合适的术语)中获取特定版本,例如
rvm install 1.8.7-p174 # <= Will NOT work today!
其中还不包括上述补丁。如果你尝试使用 RVM 获取 1.8.7 核心的最新版本(如 p278),则会出现一些独立的段错误问题(其中一个原因是RVM 文档推荐使用 p174)。
如果您需要快速运行 Ruby,则在 F12 上从源代码安装效果很好。这是我选择的解决方案,等待非常有用的 RVM 可管理的修补版本。
答案2
对于使用旧版 Fedora(10)的用户来说,从源 rpm 安装是可以的:
使用 REHL5 源 rpm wgethttp://www.cherpec.com/wp-content/uploads/2009/10/ruby-enterprise-1.8.7-1.el5.src.rpm
安装构建先决条件:sudo yum install gcc-c++ readline-devel ncurses-devel gdbm-devel autoconf openssl-devel db4-devel byacc ruby
找到您构建的 rpm 目录(可能是 /home/$username/rpmbuild/RPMS/$arch)并安装您构建的 rpm:sudo yum install ./ruby-enterprise-1.8.7-1.el5.i386.rpm --nogpgcheck