2011-05-10 51 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中(如果有的話)。