1

我正在设置一个新的 RedHat Enterprise Linux 5 系统来托管在 Apache 下使用 Phusion Passenger 运行的 Ruby 应用程序。我已经更新了系统上的所有本地包。以下是 RedHat 为 Ruby 提供的内容:

$ ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]

那是相当老了。是使用 RedHat 提供的还是安装更新的版本更好?

如果更新版本,是哪一个?我一直使用 1.8.x 系列中的最新版本。有什么理由做不同的事吗?


更新

在思考并绘制了一张利弊图表后,我决定尝试使用 Ruby 企业版。如果这被证明是有问题的,我可能会切换到 1.8.7。

4

6 回答 6

2

我肯定会升级到最新的 1.8.7 或 1.9.1,它应该不会造成任何问题。1.9.1 使用了一个运行速度更快的新 VM,但一些 gem 与 1.9 不兼容,尽管它现在被认为是“稳定”版本。

于 2009-07-07T22:05:15.663 回答
2

如果您决定构建和运行不同版本的 Ruby,请记住您还需要自己维护该版本。如果存在安全问题(或错误修复),您将需要确保合理快速地修补或升级您的 Ruby 安装。您安装的 Ruby 版本可能无法使用错误和安全修复程序,这意味着您需要迁移到更高版本,如果 API 或功能发生更改,可能会导致兼容性问题(在其他换句话说,一切都需要重新测试)。

基本 RHEL 附带的大多数软件将在 RHEL 的整个生命周期内以该版本进行维护。这意味着您可能不会拥有最新最好的。但是,这确实意味着如果存在安全问题或重大错误,Red Hat 很可能会将修复程序反向移植到操作系统附带的版本。您仍将始终想要重新测试所有内容,但任何事情发生故障的机会都会大大降低。

于 2009-07-07T22:15:04.380 回答
1

我建议升级到 Ruby 1.8.7。这是与 Ruby on Rails 一起使用的推荐版本。

于 2009-07-07T22:03:48.693 回答
1

如果您正在运行Passenger,它可以与Ruby Enterprise Edition配合使用,显着减少内存消耗。安装程序将引导您重新配置Passenger 以使用RubyEE。

于 2009-07-08T09:58:56.403 回答
0

与任何框架/平台一样,您可能希望继续使用您知道您的应用程序可以完美运行的版本。对于 Rails,推荐的版本是 1.8.7,所以您可能想要使用它。

但是,在构建一个全新的应用程序时,为什么不直接使用最新的稳定版本呢?最新的稳定版本通常比其他以前的版本包含更多的错误修复,并且可能是更好的选择。

于 2009-07-07T22:04:49.970 回答
0

至少升级到补丁级别 230 以摆脱安全漏洞

于 2009-07-07T22:07:12.027 回答