在不調用整個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