使用 Ruby 1.8.5 可以吗?
我正在设置一个新的 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。
I'm setting up a new RedHat Enterprise Linux 5 system to host Ruby apps running under Apache with Phusion Passenger. I've updated all the local packages on the system. Here is what RedHat is giving me for Ruby:
$ ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]
That's pretty old. Is it better to use what RedHat provides or install a newer version?
If newer version, which one? I've always gone with the latest in the 1.8.x series. Any reason to do differently?
UPDATE
After pondering and drawing a chart of the pros and cons, I decided to give Ruby Enterprise Edition a try. If that turns out to be problematic, I'll probably switch to 1.8.7.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我肯定会升级到最新的 1.8.7 或 1.9.1,它应该不会造成任何问题。 1.9.1 使用运行速度更快的新 VM,但某些 gem 尚不与 1.9 兼容,尽管它现在被认为是“稳定”版本。
I would definitely upgrade to the latest 1.8.7, or 1.9.1, it shouldn't pose any problem. 1.9.1 uses a new VM which runs much faster, but some gems aren't compatible yet with 1.9, even though it's now considered the 'stable' release.
如果您决定构建并运行不同版本的 Ruby,请记住您还需要自己维护该版本。 如果存在安全问题(或错误修复),您将需要确保相当快地修补或升级您的 Ruby 安装。 您安装的 Ruby 版本可能无法使用错误和安全修复程序,这意味着您将需要迁移到更高版本,如果存在 API 或功能更改(在其他情况下),可能会导致兼容性问题换句话说,一切都需要重新测试)。
基本 RHEL 附带的大多数软件将在 RHEL 的生命周期内维持该版本。 这意味着您可能不会拥有最新和最好的。 但是,这确实意味着如果存在安全问题或重大错误,红帽很可能会将修复程序向后移植到操作系统附带的版本。 您仍然总是想重新测试所有内容,但任何内容损坏的可能性都会大大降低。
If you decide to go the route of building and running a different version of Ruby, just remember that you will need to also maintain that version yourself. If there are security issues (or bugfixes), you will need to ensure that you patch or upgrade your Ruby installation reasonably quickly. It may be the case that bug and security fixes won't be available for the version of Ruby that you install, meaning that you will need to move to a later version, possibly causing compatibility issues if there are API or functionality changes (in other words, everything will need to be re-tested).
Most software that comes with the base RHEL will be maintained at that version for the life of RHEL. That means you probably won't have the latest and greatest. But, it does mean that if there are security issues or major bugs, Red Hat will most likely backport the fixes to the version that came with the OS. You will still always want to re-test everything, but the chances of anything breaking are greatly reduced.
如果您运行的是 Passenger,它可以与 Ruby Enterprise Edition 配合使用,消耗的内存显着减少。 安装程序将引导您重新配置 Passenger 以与 RubyEE 一起使用。
If you're running Passenger, it works well with Ruby Enterprise Edition, consuming significantly less memory. The installer will walk you through re-configuring Passenger to work with RubyEE as well.
我建议升级到 Ruby 1.8.7。 这是与 Ruby on Rails 一起使用的推荐版本。
I'd suggest upgrading to Ruby 1.8.7. It's the recommended version for use with Ruby on Rails.
与任何框架/平台一样,您可能希望继续使用您知道您的应用程序可以完美运行的版本。 对于 Rails,推荐的版本是 1.8.7,因此您可能需要使用它。
但是,为什么在构建全新的应用程序时不直接使用最新的稳定版本呢? 最新的稳定版本通常比其他以前的版本包含更多的错误修复,并且可能是更好的选择。
As with any framework/platform, you probably want to keep using the version that you know your app works perfectly on. In the case of Rails, the recommended version is 1.8.7, so you'll probably want to use that.
But, then also, Why not just use the latest Stable Version when building a completely new app? The latest stable version usual contains more bug fixes than other previous releases, and may be the better choice.
至少升级到补丁级别 230 才能消除安全漏洞
At least upgrade to patchlevel 230 to get rid of the security vulnerability