2011-06-09 63 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,因此您的其他依赖项仍应该满足,只需要使用不同的版本即可。