2011-05-10 36 views
7

我在Ruby 1.8.7(Enterprise Edition)上使用Ruby on Rails开发多年。最新版本有1.9.2。用于生产的Ruby版本

我可以使用1.9.2有什么好处?编码支持怎么样(我听说过一些问题)?速度更快吗?它更稳定吗? etc

目前我即将开始一个新项目。所以我想在生产中使用1.9.2。

+0

我用Ruby 1.9.2,然后开始[获取错误](http://stackoverflow.com/questions/5087432/ruby-crashes-on-windows),所以切换到1.8.7。所以我认为最好留在Ruby 1.8.7上。 – 2011-05-10 13:08:42

+0

我不使用Windows,所以它可能更稳定* nix? – fl00r 2011-05-10 13:10:04

+0

你应该考虑在Windows上迁移到ruby 1.9.2-p136。 – marzapower 2011-05-10 13:18:19

回答

7

我的经验与使用1.9.2在生产中一直很好。对于新项目,尤其是与Rails 3,我不会推荐别的。 1.9中的Unicode支持实际上消除了很多很多的编码问题,再加上1.9.2比较快,稳定性是一个梦想。

当然,如果你迁移项目 1.9.2,你要确保你有很好的测试覆盖范围,然后再开始,因为有变化,弃用等

对于真的深入的编码问题,并在1.9.2发生了什么变化,阅读this article by Yehuda Katz.

2

如果你正在开始一个新的项目,1.9.2具有许多优点:编码支持,原生线程,纤维,更一致的API 。

但它确实改变的东西,所以要注意。最近有人问我:Object#方法返回1.8中的字符串和1.9中的符号。

What is the difference between Ruby 1.8 and Ruby 1.9

+0

好的SO问题,谢谢! – fl00r 2011-05-10 19:52:26

1

我在1.9.2上运行的几个项目,现在只要你保持自己与RVM武装你应该不错。在这一点上给我带来麻烦的唯一问题是,在一个月左右的1.9.3版本中将会修复这个缓慢的需求。

请注意,如果您使用稀土元素,您也会失去稀土元素的优势(如写入时复制的友好性),因为尚不清楚稀土元素何时会出现在YARV中(如果有的话)。