2009-11-03 69 views
9

上週我成功完成了所有公司應用程序從Ruby 1.8.6到Ruby 1.8.7的過渡,包括本地和遠程配置。從現在開始,開發不需要確保與Ruby 1.8.6的向後兼容性。是否有人使用Ruby 1.9.1成功部署了Rails項目?

爲了好奇,我試着運行一些針對Ruby 1.9.1的項目的測試套件。正如預期的那樣,我發現了一些與編碼有關的問題,但是當我發現低級別不兼容時,例如Rack :: Link已知錯誤,我感到非常震驚。 在這一點上,將開發轉移到Ruby 1.9.1的想法根本不適用。

我想知道是否有人已經成功部署了Ruby 1.9.1的Rails項目。你爲Rails項目使用哪個Ruby版本?你打算升級到更新的版本嗎?

回答

10

Matz最近在倫敦的RubyFoo上談到Ruby 1.9.1的採用。很簡單,ruby 1.9.1不是生產準備好的,現在不應該用於部署。

Ruby 1.9.2將準備就緒,但在此之前,您應該只使用ruby 1.9.1進行播放和測試。

雖然很多人都使用1.9.1成功部署,但我建議堅持使用REE 1.8.7,直到1.9.2出局。 Rails 3.0會支持1.9.2,但在1.8.7下也會很開心(它不會與1.8.6一起使用)。

+1

MHO,問題不是Ruby本身,而是GEMS和可用的庫:(從我的測試中,Ruby 1.9.1看起來是相當穩固的。) – 2009-11-04 09:51:17

+0

是的,寶石是有點問題,但isitruby19.com網站有幫助 Matz還說有些東西會在1.9.1和1.9.2之間變化,所以1.9.1是我認爲的一個問題,它的並不像說它是一個寶石問題那麼簡單。 – 2009-11-04 12:10:05

1

這裏沒有轉換到Ruby 1.9.1。我傾向於保守升級。對於生產工作,我喜歡堅持使用經過測試的&測試過的東西。此外,恕我直言1.9.1是不錯的,並確保你保持依賴版本是最好的習慣。正如你所注意到的那樣,在出血的邊緣發展可能是痛苦的。如果您不想遇到這些問題,那麼保留一個版本更加安全。

+2

我不會把紅寶石1.9.1出血邊緣。它在9個多月前發佈,Ruby 1.9.2預覽版已經發布。 :) – 2009-11-03 23:13:47

+0

Ruby 1.9與Rails的結合仍然是流血的邊緣。 Rails可以處理它,但rails插件生態系統是巨大的,並不是所有的插件都被更新。甚至有一個網站可以跟蹤這些問題:http://isitruby19.com/ – 2009-11-04 19:07:38

1

也是1.9.1這裏。儘管這樣說讓我生病,但我們只需等待37個信號首先完成。

一旦有提交權限的人這樣做,錯誤將得到更快解決。

5

Gitorious是一個相當大且複雜的Rails項目,擁有大量用戶。 Gitorious在Ruby 1.8和Ruby 1.9上運行良好,但最大的Gitorious安裝,即Gitorious.Org本身,已經在Ruby 1.9和YARV上運行了很長一段時間。 (至少月份以來,我覺得。)

而最好的部分是當然,這不僅是開源的,但開放的郵件列表,打開錯誤追蹤系統和開放repository一個真正開放的項目,這樣就可以看到準確他們是如何做到的以及做了多少工作。

2

我花了一天的時間來看待這個可行性,我會等待一段時間。

就目前而言,你可以得到的東西主要是工作,但有一些嚴重可怕的解決方法,你將不得不採取的東西去東西去。

  1. MySQL的寶石(2.8.1版本)返回ASCII編碼的所有字符串,這意味着當你開始在你的意見,你獲得了各種嚴重的錯誤追加他們帶來麻煩的原因。有一個解決辦法,但它涉及到編制補丁寶玉見:Encoding problems in rails on ruby 1.9.1
  2. 您由於Ruby的臨時文件中的錯誤需要強制UTF-8編碼使用全球黑客或ENV瓦爾
  3. 客運2.2.7有困難,所以你必須破解來源:Ruby 1.9.1-p234, Passenger 2.2.5, Rails 2.3-stable closed stream on POST request
  4. 一些寶石根本不工作。

雖然我很想有PERF提升,我認爲這是目前有點太前沿,它可能是一個好主意,等到月中上旬2010

+0

你最後一句話完美地總結了我的想法。 – 2009-12-07 11:04:23

相關問題