在不调用整个Rails堆栈的一些项目,增加的RDoc到Gemfile中是成功的关键对我来说:
group :development, :test do
gem 'rake', '~> 0.9.2.2'
gem "rdoc", '~> 3.12'
end
UPDATE:这仍缠着我有轨3.0.x的项目。耙文件,宝石都似乎好,但我仍然得到这个问题。为了找出究竟在何处警告从我wacoming把金丝雀宝石/耙-0.9.2.2/lib目录/耙/ rdoctask.rb:
if Rake.application
begin
raise 'where am i'
rescue
puts [email protected]
end
Rake.application.deprecate('require \'rake/rdoctask\'', 'require \'rdoc/task\' (in RDoc 2.4.2+)', __FILE__)
end
这立即指出,这个问题在轨栈本身。一个快速检查,很显然,轨道3.0.8充满了需要耙/ rdoctask。更新到rails(我相信3.0.9或更高版本)解决了这个问题(或者可以像其他人所建议的那样降级rake)。
但你是卡在3.0.8〜一会儿,不想降级耙,你可以在你的Rakefile设置ignore_deprecate抑制警告:
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
Babylon::Application.load_tasks
为什么抑制警告?我的主要动机是确保调用rake的cron作业不记录并通过电子邮件发送虚假输出。
我还在争夺这一问题的一些项目。随着所有明显的事情照顾(rdoc等),它仍然困扰着我。我强烈怀疑该项目中的一些宝石..但追踪问题是一个问题。有谁知道如何让ruby/rake报告导致警告的任何内容的精确代码位置? – tardate