2013-08-16 50 views
0

我正在使用gem版本2.0.7和rails版本3.0.7。如何解决rake db:在RoR中迁移错误?

虽然我运行rake db:migrate命令,但它抛出了以下错误。

$ rake db:migrate --trace 
rake aborted! 
ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (ava 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rdoctask.rb:2:in `<top 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `loa 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `blo 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:6:in `each 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:6:in `<top 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:214: 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:214: 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:139: 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/application.rb:77:i 
C:/Users/m/Documents/Aptana Studio 3 Workspace/rail1/Rakefile:6:in `<top (requir 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `l 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `l 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:637:in ` 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:94:in `b 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in ` 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:93:in `l 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:77:in `b 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in ` 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:75:in `r 
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.0/bin/rake:33:in `<top (required)> 
c:/Ruby193/bin/rake:23:in `load' 
c:/Ruby193/bin/rake:23:in `<main>' 

如何解决它。

请给我留言。在此先感谢

回答

1

错误消息的关键部分是这样的:

ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (ava 

如果您搜索的StackOverflow或谷歌的错误信息,你会发现在同一主题的至少有三个不同的问题,等等这样的:

ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead

在写作时的最高投票答案建议从编辑的Rakefile:

require 'rake' 
require 'rake/testtask' 
require 'rake/rdoctask' 
require 'tasks/rails' 

到:

require 'rake' 
require 'rake/testtask' 
require 'rdoc/task' 
require 'tasks/rails' 

如果我是你,我会尝试升级的Rails 3.2,看看问题是否仍然存在。如果这不是一个选项,那么较老的问题将有望得到帮助。

+0

我已经尝试过改变,但它引发同一error.That。这就是为什么我张贴的问题 – selvam

+0

对。为了将来的参考,如果你在问题中告诉我们你已经尝试了什么,它会让人们更容易帮助。 – lime

+0

我改变了上面提到的rake文件。但这是行不通的。 – selvam

0

它可以通过安装耙的旧版本,并卸载当前版本10.1.0来解决它:

gem install rake --version 0.8.7 
gem uninstall rake --version 10.1.0