生产环境下的Ruby版本

7

我使用 Ruby 1.8.7(企业版)和 Ruby on Rails 开发多年。现在最新版本是 1.9.2。

使用 1.9.2,你可以得到什么好处?关于编码支持(我听说有一些问题),它是否更快?更稳定?等等

目前,我正准备开始一个新项目。所以我正在考虑在生产中使用 1.9.2。


我曾经使用过Ruby 1.9.2,但后来开始出现错误(参考链接:https://dev59.com/l1TTa4cB1Zd3GeqPtpah),所以我转而使用了1.8.7版本。因此,我的建议是最好还是使用Ruby 1.8.7。 - Harry Joy
我不使用Windows,所以在*nix上可能更稳定? - fl00r
你应该考虑在Windows上迁移到ruby 1.9.2-p136。 - marzapower
1
如果你不使用Windows系统,请选择1.9.2版本,但要注意其中的陷阱。这个版本中的陷阱较少。 - Jason Lewis
1
使用Go 1.9吧,加油!实际上,1.9.3版本将在几个月内发布。目前的计划似乎是在今年7月或8月发布。 - sawa
3个回答

7

我在实际应用中使用1.9.2的经验非常好。特别是对于新项目,尤其是使用Rails 3时,我不建议使用其他版本。1.9中的Unicode支持实际上解决了许多编码问题,此外,1.9.2相当快,并且非常稳定。

当然,如果你正在将项目迁移到1.9.2,请确保在开始之前有良好的测试覆盖率,因为会有变化、废弃等情况。

如果想深入了解编码问题以及1.9.2中的更改,请阅读Yehuda Katz的这篇文章


2
如果您正在开始一个新项目,1.9.2有许多优点:编码支持、本地线程和纤程、更一致的API。
但它确实会改变一些东西,所以请注意。最近让我遇到的一个问题是:Object#methods在1.8中返回字符串,在1.9中则返回符号。
请参见Ruby 1.8和Ruby 1.9之间的区别

1

我现在正在使用1.9.2版本运行几个项目,只要你自备rvm应该就没问题了。目前唯一困扰我的问题是慢速require,这将在一个月左右发布的1.9.3版本中得到解决。

请注意,如果使用REE,您也会失去它们的优点(如写时复制友好性),因为不清楚REE何时会为YARV发布(如果有的话)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接