2011-11-03 80 views
20

我已經做了一個包更新現在我仍然耙/ rdoctask棄用警告運行耙子命令後。我仍然耙/ rdoctask已棄用警告

WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead. 
    at /home/cheetah/.rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/rdoctask.rb 

我試着讀這個技巧http://matthew.mceachen.us/blog/howto-fix-rake-rdoctask-is-deprecated-use-rdoc-task-instead-1169.html但我的Rakefile是可以的。

我不知道如何解決這個問題。有小費嗎?非常感謝。

馬丁

+1

我還在爭奪這一問題的一些項目。隨着所有明顯的事情照顧(rdoc等),它仍然困擾着我。我強烈懷疑該項目中的一些寶石..但追蹤問題是一個問題。有誰知道如何讓ruby/rake報告導致警告的任何內容的精確代碼位置? – tardate

回答

19

你可以有你的系統上耙的多個版本,你可以通過運行

$ gem list 
=> rake 

(0.9.2.2,0.9.2,0.8.7) 定義視圖他們版本在我的項目,在Gemfile中把它定義爲

gem 'rake', '0.8.7' 

然後運行

bundle update rake 

您的項目版本現在在Gemfile中指定,您的警告現在已消失。

+0

您的解決方案爲我工作,謝謝 – Steven

+3

我沒有多個版本的耙子。 – mcr

3

在不調用整個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作業不記錄並通過電子郵件發送虛假輸出。

+0

這在我的情況下不起作用.. – e3matheus

+0

是的,它也回來了bug我。 rdoc技巧照顧一個原因,但也有其他... – tardate

+0

現在好了我很高興:得到了一個解決方案,正在工作。 (相應地更新我的答案) – tardate

4

除了改變Gemfile文件並運行「捆綁更新耙」不用我太運行:

gem uninstall rake -v 0.9.2.2 
gem uninstall rake -v 0.9.2 
gem install rake -v 0.8.7