2010-08-20 83 views

回答

6

我已經成功地將Ruby 1.8.7/Rails 2.3.5中的所有Rails項目(除了一個,但我正在處理它)轉換爲Rails 3.0.0和Ruby 1.8.7/1.9.2 RC2而且這兩種環境都非常穩定。

幸運的是,自從我發佈this question以來,情況發生了變化。

Rails的

除非你真的有東西阻止你這樣做,我強烈建議你開始使用Rails 3 從梁2的應用升級到Rails 3中所需的工作應勸阻你從開始的Rails 2.

談到插件和寶石,許多開發人員開始將他們的庫轉換爲Rails 3.目前有一個非常高的兼容性級別。 此外,Rails 3重點插件通常比Rails 2.3更強大,這要歸功於新的Rails插件API。他們可以加載任務,不再濫用猴子補丁或依賴內部黑客。

此外,Rails 3即將發佈。除非您的項目將在1周內部署,否則穩定版本可能會在您部署代碼之前提供。 我不會發生這種情況,考慮到我目前在生產環境中管理幾個Rails 3項目,並且它們非常穩定(Rails 3 RC1,Beta 4在緩存環境中有一個非常奇怪的錯誤)。

的Ruby 1.9.2

的Ruby 1.9.2方式比Ruby 1.8.7更加強大。如果這是一個全新的項目,我建議你使用1.9分支。

通常,在Ruby 1.9中啓動一個新項目比轉換現有項目更容易。

Ruby 1.9.2比REE更快,速度更快。大多數常見的Ruby 1.8.7 Gems除Ruby之外的其他版本,如RCov。 同樣,你很難去需要一個不適合於Ruby 1.9.2的庫。

如果發生這種情況,很可能這是一個過期的庫,Ruby生態系統中可能會有更好的替代品。

如果您找不到替代方案,請記住,由於Bundler,Rails 3提供了使用自定義庫的絕佳方法。 您可以分解項目並讓Bundler使用您的分叉。您甚至可以將庫整合到您的回購庫中,並要求Bundler從路徑加載庫。

結論

從我個人的經驗,我已經很高興使用Ruby 1.9.2和Rails 3. 這是迄今爲止我最喜歡的環境和新的項目我的默認環境。

如果您不能使用Ruby 1.9.2,請嘗試使用Ruby 1.8.7。 在另一邊,我強烈建議你開始使用Rails 3

+0

從Rails3和Ruby 1.9.2開始,我絕對喜歡它!所有在Rails2中並不輕鬆的事情都已經消失了,並被Rails3所取代。RESTful lovin如新路線和ActiveRecord查詢 – ScotterC 2010-08-25 17:24:50

2

它最終取決於項目是什麼。如果這是一個個人項目,並且您正在使用它作爲學習Ruby/Rails的手段,那麼我認爲這值得學習和使用最新的工具。如果這是客戶端工作,或者您的主要目標只是爲了完成此項目,那麼2.3.5/1.8.7可能是最好的選擇,因爲您提到的資源,以及大量支持庫/寶石只是工作。您將不得不在某個時間學習Rails 3/Ruby 1.9.x,因爲這絕對是社區領導的地方。

我會做一些研究,看看你的項目需要什麼樣的寶石,並確保如果你選擇Rails 3/1.9.2路由支持所有的東西。此外,加入IRC並詢問有關其他人的經驗與任何寶石有問題。

我可以告訴你,我有一個小的Rails 3/1.9.2應用程序,在生產環境中運行良好,雖然它非常小並且是個人項目。

+0

感謝您的洞察力。我沒有考慮寶石兼容性。這不是爲了客戶,而是爲了嚴肅的生產。我傾向於用它去。 – ScotterC 2010-08-20 18:45:14

+0

除非您在應用程序中使用某些花哨的字符編碼,否則,gem兼容性將是您最大的問題。許多寶石開發人員正在研究Rails 3的兼容性,大多數流行的寶石至少有一些適用於Rails 3的東西,即使它是測試版。 – bobbywilson0 2010-08-20 19:05:45

+0

我同意,再加上1.9.2剛剛發佈,所以可能有一些bug仍然存在... – rogerdpack 2010-08-20 20:09:53

1

您可能需要使用RVM

嘗試的Ruby 1.9.2我一直在使用它,並在開發一些Rails3中應用程序,同時保持我們目前的生產站點(一直到Rails 2.2/Ruby 1.8.5)。 只有抱怨不得不記得啓動RVM ^^

+0

Love RVM。讓生活更輕鬆。 – ScotterC 2010-08-25 17:25:43

相關問題