【问题标题】:How to solve rake db:migrate error in RoR?如何解决 RoR 中的 rake db:migrate 错误?
【发布时间】:2013-08-16 06:51:14
【问题描述】:

我正在使用 gem 版本 2.0.7 和 rails 版本 3.0.7。

当我运行 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>'

如何解决。

请帮帮我。提前致谢

【问题讨论】:

    标签: ruby-on-rails-3 migration rake


    【解决方案1】:

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

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

    如果您在 StackOverflow 或 Google 上搜索错误消息,您会发现至少三个关于同一主题的不同问题,其中包括:

    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,看看问题是否仍然存在。如果这不是一个选项,那么旧的问题希望会有所帮助。

    【讨论】:

    • 我已经尝试过这种改变,但它抛出了同样的错误。这就是我发布这个问题的原因
    • 对。为了将来参考,如果您在问题中告诉我们您已经尝试过什么,那么人们会更容易提供帮助。
    • 我改变了上面提到的 rake 文件。但这行不通。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 2017-03-01
      • 2018-02-05
      • 2014-07-16
      • 2013-09-03
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多