2011-11-03 113 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