2011-06-09 30 views
1

我最近在我的Gemfile上運行了一個bundle install,並嘗試rake:db:migrate。這種遷移沒有工作,輸出:Rake 0.9.1導致rake:db:遷移產生棄用問題,無法降級到0.8.7

WARNING: Global access to Rake DSL methods is deprecated. Please include 
    ... Rake::DSL into classes and modules which use the Rake DSL methods. 
WARNING: DSL method SampleApp::Application#task called at /Users/joshuaballoch/.rvm/gems/[email protected]/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks' 

我在另一篇文章中,我應該卸載0.9.1閱讀,但由於某些原因,一些寶石,我有需要卸載後0.9.1,所以我不不知道如何解決這個問題。有什麼建議麼?

僅供參考我的Gemfile是:

source 'http://rubygems.org' 

gem 'rails', '3.0.3' 



gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3' 
gem 'gravatar_image_tag', '1.0.0.pre2' 
gem 'will_paginate', '3.0.pre2' 



group :development do 
    gem 'rspec-rails', '2.3.0' 
    gem 'annotate-models', '1.0.4' 
    gem 'faker', '0.3.1' 
end 

group :test do 
    gem 'rspec', '2.3.0' 
    gem 'webrat', '0.7.1' 
    gem 'factory_girl_rails', '1.0' 
end 

回答

1

的Rails 3.0.8昨日發佈,幷包括"Fixing Rake 0.9.x integration"。值得一試。

+0

是的,我按你的建議,沒有更多的問題。不明白錯誤,但它現在起作用的事實很好。謝謝! – jay 2011-06-10 04:15:58

+0

哎呦 - 仍然是新的@ stackoverflow,複選標記檢查!再次感謝 – jay 2011-06-14 19:44:13

3

,你是否嘗試運行它像這樣:bundle exec rake db:migrate

捆exec命令運行在由包定義的環境您的要求,因此,如果您的全球寶石不同,這可能會有幫助。

如果不是,您可以將gem "rake", "0.8.7"添加到您的gem文件中,然後再試一次。由於您不會刪除0.9.1,因此您的其他依賴項仍應該滿足,只需要使用不同的版本即可。