我正在建立一个新的RedHat Enterprise Linux 5系统来托管使用Phusion Passenger在Apache下运行的Ruby应用程序。我已经更新了系统上的所有本地软件包。以下是RedHat为Ruby提供的内容:
$ ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]
那已经很老了。使用RedHat提供的内容或安装更新的版本会更好吗?
如果是更新的版本,哪一款?我总是使用1.8.x系列中的最新产品。有什么不同的理由吗?
更新
在思考并绘制了优缺点图表之后,我决定尝试使用Ruby Enterprise Edition。如果结果有问题,我可能会切换到1.8.7。
答案 0 :(得分:2)
我肯定会升级到最新的1.8.7或1.9.1,它不应该造成任何问题。 1.9.1使用运行速度更快的新VM,但有些宝石与1.9不兼容,即使它现在被认为是“稳定”版本。
答案 1 :(得分:2)
如果您决定开始构建并运行不同版本的Ruby,请记住您还需要自己维护该版本。如果存在安全问题(或错误修正),则需要确保快速合理地修补或升级Ruby安装。可能会出现错误和安全修复程序无法用于您安装的Ruby版本的情况,这意味着您将需要迁移到更高版本,如果存在API或功能更改,可能会导致兼容性问题(在其他一句话,一切都需要重新测试。)
基本RHEL附带的大多数软件将在RHEL的生命周期内保持该版本。这意味着你可能没有最新和最好的。但是,它确实意味着如果存在安全问题或主要错误,Red Hat很可能会将修复程序反向移植到操作系统附带的版本中。你仍然总是想重新测试一切,但是大大减少了任何破坏的可能性。
答案 2 :(得分:1)
我建议升级到Ruby 1.8.7。这是与Ruby on Rails一起使用的推荐版本。
答案 3 :(得分:1)
如果你正在运行Passenger,它与Ruby Enterprise Edition配合得很好,消耗的内存要少得多。安装程序将引导您重新配置Passenger以使用RubyEE。
答案 4 :(得分:0)
与任何框架/平台一样,您可能希望继续使用您知道应用程序完美运行的版本。在Rails的情况下,推荐的版本是1.8.7,所以你可能想要使用它。
但是,那么,为什么不在构建一个全新的应用程序时使用最新的稳定版本?最新的稳定版本通常包含比其他先前版本更多的错误修复,可能是更好的选择。
答案 5 :(得分:0)
至少升级到patchlevel 230以摆脱安全漏洞