2012-03-20 109 views
0

我在我的Rails項目中使用「耙0.8.7」,但我還是儘量要麼rake routesbundle exec rake routes我仍然得到耙子0.8.7,耙子中止!未初始化的常量耙:: DSL

rake aborted! 
uninitialized constant Rake::DSL 

如果我嘗試把推薦require 'rake/dsl_definition'在我耙文件它給我

rake aborted! 
no such file to load -- rake/dsl_definition 

所以,我堅持如何解決這個問題。我不能運行任何耙指令...

回答

0

這個錯誤聽起來像你正在使用東西在你的應用程序,需要更新版本的耙子比0.8.7。 Believe Rake :: DSL僅以0.9.0的耙出現。

Rails的最新版本宣稱自己使用的是早期版本爲0.8.7的rake。也許這是錯誤的。更有可能你在你的項目中使用一些其他寶石,這需要更新的耙子。

爲什麼以及如何在項目中使用rake 0.8.7而不是更新的?除非你已經鎖定在你的gemfile中耙取0.8.7(或者使用其他堅持0.8.7的gem),否則你應該能夠運行bundle update rake以升級到最新版本的rake。

如果您安裝了多個rake版本,則可能需要運行bundle exec rake ...,如您所述。但在你的項目中,bundle exec rake仍然會讓你0.8.7,因爲無論什麼原因,這是耙子的版本,你的Gemfile.lock目前設置爲 - 但你的項目正在使用一些想要更新版本的東西。