gpt4 book ai didi

ruby-on-rails - 错误 : 'rake/rdoctask' is obsolete and no longer supported. 请改用 'rdoc/task'(在 RDoc 2.4.2+ 中提供)

转载 作者:行者123 更新时间:2023-12-03 07:43:03 26 4
gpt4 key购买 nike

似乎这个问题的最后一篇文章因某种原因被关闭,所以我会试试运气......

我正在尝试运行一个简单的“rake db:migrate”命令。当我这样做时,我收到标题中的错误。是的,解决方案“看起来”很明显,但这并不是因为我的 Rakefile 不包含任何对“rake/rdoctask”的引用。它似乎来自 Documentation.rake,但是当我尝试按照错误的建议更改该文件时,我收到了不同的错误。我发现有几篇文章声称这是一个已知问题,但我发现没有任何内容表明如何修复或解决此问题。

有人知道如何解决这个问题吗?下面是带有 --trace 的 rake 命令的输出:

$ rake --trace db:migrate
rake aborted!
ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead.
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rdoctask.rb:1:in `<top (required)>'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks/documentation.rake:2:in `require'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks/documentation.rake:2:in `<top (required)>'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:15:in `load'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:15:in `block in <top (required)>'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:6:in `each'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:6:in `<top (required)>'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:213:in `require'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:213:in `initialize_tasks'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:139:in `load_tasks'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
C:/developer/skknobara/Rakefile:7:in `<top (required)>'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load_rakefile'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:583:in `raw_load_rakefile'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:89:in `block in load_rakefile'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:88:in `load_rakefile'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:72:in `block in run'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/bin/rake:33:in `<top (required)>'
C:/Programs/Ruby193/bin/rake:23:in `load'
C:/Programs/Ruby193/bin/rake:23:in `<main>'
<小时/>

我发现我的 Gemfile 中有 Rails 3.0.3,所以我将其更改为 3.2.9,但现在当我运行 rake db:migrate 时,我得到:

rake aborted!
Bundler could not find compatible versions for gem "rack":
In Gemfile:
rails (= 3.2.9) x86-mingw32 depends on
rack (~> 1.4.0) x86-mingw32

rack (1.2.5)

我不确定该错误意味着什么,但“gem listrack”显示我同时安装了 1.4.1 和 1.4.0。我的 Gemfile 非常简单:

gem 'rails', '3.2.9'
gem 'rack','< 1.4.1'
gem 'mysql2', '< 0.3'

有什么想法吗?

最佳答案

我在使用rails 2.3.5时遇到了类似的问题,因此按照跟踪消息中的指示,我编辑了Rakefile以要求'rdoc/task'而不是rake/rdoctask并安装了rdoc gem。

如果您使用的 rake 版本 > 10.0.0 。请编辑您的 Rakefile

来自:

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

至:

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

如果您不想编辑 Rakefile,您可以像这样切换回旧版本的

gem uninstall rake -v 10.0.3
gem install rake -v 0.8.7

关于ruby-on-rails - 错误 : 'rake/rdoctask' is obsolete and no longer supported. 请改用 'rdoc/task'(在 RDoc 2.4.2+ 中提供),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14117114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com