只是预警:我是铁杆菜鸟。
当我跑步时:
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
我正在使用:
如果我卸载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抱怨?
编辑:不确定是否重要,但这是我的宝石文件:
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
答案 0 :(得分:7)
请注意,这在以后的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。
答案 1 :(得分:2)
这是我的rakefile
require File.expand_path('../config/application', __FILE__)
require 'rake'
require 'rake/testtask'
require 'rdoc/task'
# add this (and perhaps make it conditional on Rails.version if you like):
Rake.application.options.ignore_deprecate = true
myapp::Application.load_tasks
正在进行错误通知。