2011-05-16 186 views
1

我最近升級到紅寶石1.8.7。我正在運行Rails 2.3.5和rubyGems 1.5.2。升級紅寶石如何到

自從我升級,我想啓動服務器,每次,我得到:這裏

undefined local variable or method `version_requirements' for #<Rails::GemDependency:0x1022cc1c8> (NameError) 

this後建議降級rugyGems低於1.5.0版本。

降級似乎不是正確的解決方案..我應該升級Ruby還是Rails?另外,如果我升級到最新的紅寶石(1.9.2)和鐵軌(3.0)..我的應用程序會中斷嗎? 我有一個非常大的應用程序,無法弄清楚如何升級它不會破壞應用程序..

+0

如果你升級到Rails 3,它肯定會中斷。如果你升級到Ruby 1.9.2,它可能會中斷。看一下RVM https://rvm.beginrescueend.com/ – Dex 2011-05-16 20:27:37

+0

沒有什麼比試圖在這裏做小步驟。捆綁商,git和rvm在這裏肯定是你的朋友。 Rails 3以1.8.7運行得很好,所以如果你不需要那些新的東西,你應該會好一段時間。 – Jan 2011-05-16 20:37:27

+0

Rails 2.3.5應該可以很容易地更新到2.3.10或2.3.11,但如果它的體積適中,通往3的道路通常至少會有點痛苦。嘗試打開config/environment.rb,只需更改RAILS_GEM_VERSION,然後按照指示降級rubygems。 – Unixmonkey 2011-05-16 20:40:34

回答

1

你應該使用RVM所以你可以有兩種,1.81.9.2 Ruby版本,運行,您可以與工作rails 2.3.xrails 3.x你想要的方式

+0

安裝和配置'RVM'的步驟取決於平臺 – 2011-05-16 20:40:40

+1

RVM實際上非常善於指導您下一步做什麼,並且處理我所投入的所有內容。 – tadman 2011-05-16 21:23:58

+1

「安裝和配置RVM的步驟取決於平臺」我在平臺上看到的唯一變化就是所需的依賴關係,當我們執行「rvm notes」時,RVM會吐出。否則,它在幾種Linux類型和Mac OS上都是相同的步驟。 – 2011-05-16 22:48:52

2

關於version_requirements的一件事是rubygems中的一個bug - 由他們的創建者確認。 我也參加了該bug報告RubyGems的:)

gem update --system 1.5.0 

直到這是固定執行一個優雅降級。

我遇到了一些Rails 2.x應用程序的這個問題,還有一次使用了3.0.4應用程序,但有了不同的錯誤信息,再次降級rubygems解決了它。

+0

p.s.在升級到rails 3時有很好的屏幕錄像。我建議您查看本網站上其他rails-3標記的屏幕錄像。 http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1 http://railscasts.com/episodes/226-upgrading-to-rails-3-part-2 http:// railscasts.com/episodes/227-upgrading-to-rails-3-part-3 – 2011-05-16 21:29:04