ruby-on-rails – Rails:如何解决’rake / rdoctask”已弃用’警告?

只是预警:我是铁杆菜鸟.

当我跑:

rake db:migrate

我收到了这个弃用警告:

WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /Users/username/Code/rails/appname/rake/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb

我在用着:

> Rails 3.0.1
>耙子0.9.2.2
> RSpec 2.0.1
> RDoc 3.12

如果我卸载rake 0.9.2.2并使用0.8.7没有警告,但我宁愿不把它算作解决方案.

谷歌搜索后,许多网站说我需要更新我的Rakefile中的一行(基本上需要’rake / rdoctask’来改变需要’rdoc / task’).但是,我的Rakefile看起来像这样:

require File.expand_path('../config/application',__FILE__)
require 'rake'

AppName::Application.load_tasks

没有要求替换的声明.当我添加require’rdoc / task’时,它没有任何效果.当我在项目中搜索已弃用的’rake / rdoctask’时,没有结果.为什么rails抱怨?

编辑:不确定是否重要,但这是我的gemfile:

source 'http://rubygems.org'

gem 'rails','3.0.1'
gem 'sqlite3-ruby',:require => 'sqlite3'

group :development,:test do
   gem 'rspec-rails','2.0.1'
   gem 'annotate-models','1.0.4'
end

group :test do
   gem 'rspec','2.0.1'
   gem 'webrat','0.7.1'
   gem 'spork','0.8.4'
end

解决方法

请注意,这在以后的Rails 3.0.x版本中已得到修复(例如,Rails 3.0.9).

修复程序不在顶级Rakefile中,而是在错误中提到的文件中;这只是一个通用的通知

if Rake.application
  Rake.application.deprecate('require \'rake/rdoctask\'','require \'rdoc/task\' (in RDoc 2.4.2+)',__FILE__)
end

不过,它实际上与其他东西有关;见this.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...