2011-05-20 150 views
0

試圖擠入一個相當新的創業板,並導致我無意中更新了包括從2.3.5到2.3.6的整個Rails作爲一個整體。解決依賴性混亂

Bundler安裝正常。

但是當我啓動script/console,我得到這個:

Loading development environment (Rails 2.3.3) 
/Users/macuser/Sites/hq_channel/config/../vendor/rails/railties/lib/initializer.rb:271:in `require_frameworks':RuntimeError: can't activate rack (~> 1.0.0, runtime), already activated rack-1.1.0. Make sure all dependencies are added to Gemfile. 
/Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:117:in `gem': can't activate rack (~> 1.0.0, runtime), already activated rack-1.1.0. Make sure all dependencies are added to Gemfile. (Gem::LoadError) 
    from /Users/macuser/Sites/hq_channel/vendor/rails/actionpack/lib/action_controller.rb:34 
  1. ,它說Rails 2.3.3很奇怪..不知道爲什麼..

  2. 我想不通的地方/它如何加載或試圖加載Rack 1.0.0,現在我已將它更新到Rack 1.1.0。

任何想法?

回答

0

如果您使用捆紮機和使用本地二進制運行到依賴問題,嘗試前綴是腳本bundle exec

  1. 開始:

    bundle exec script/console 
    

    引擎蓋下,這下不一個新的紅寶石進程調用Bundler.setup(從而加載所有的捆綁代理)

  2. 執行您在Bundler依賴關係的上下文中傳遞的命令bundler exec

這傾向於解決大多數問題。如果你之後仍然有問題,最好的辦法是驗證你的shell的環境變量是否正確,並從那裏進行調試。

PS:如果你的問題是什麼,我想是的,這裏的問題是,script/console是拉你的系統的寶石,而不是通過捆綁提供的,這就是爲什麼你看到貨架的版本不正確,併爲其他寶石獲取加載錯誤。

+1

另外需要注意的是,您應該使用正確的[Rails 2.3安裝程序的捆綁程序](http://gembundler.com/rails23.html)。還有其他的方式,大多數工作,但有這樣的問題,所以這是值得檢查。 – tadman 2011-05-20 23:47:54

+0

Yah它似乎並沒有從2.3.3將rails版本更改爲2.3.6,實際上升級了Rails應用程序。也許是因爲我的應用程序以某種方式銷售一些舊數據? – Trip 2011-05-20 23:50:31