2011-11-03 5 views
20

Ho reso l'aggiornamento del pacchetto a ora ho ancora rake/rdoctask avvertimento deprecato dopo aver eseguito il comando rake.Ho ancora rake/rdoctask avviso deprecato

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 

Ho provato a leggere questo suggerimento http://matthew.mceachen.us/blog/howto-fix-rake-rdoctask-is-deprecated-use-rdoc-task-instead-1169.html ma il mio Rakefile è OK.

Non ho idea, come risolvere questo problema. Qualche consiglio? Molte grazie.

Martin

+1

sto ancora combattendo questo problema con una serie di progetti. Con tutte le cose ovvie (rdoc, ecc.) Mi sta ancora disturbando. Sospetto fortemente alcune gemme nel progetto ... ma il problema è risolto rintracciando il problema. Qualcuno sa come ottenere ruby ​​/ rake per segnalare la posizione esatta del codice di qualunque cosa abbia causato l'AVVISO? – tardate

risposta

19

Si possono avere più versioni di rake sul vostro sistema e li puoi vedere eseguendo

$ gem list 
=> rake 

(0.9.2.2, 0.9.2, 0.8.7) Per definire una versione nel mio progetto, definire nel Gemfile come

gem 'rake', '0.8.7' 

quindi eseguire

bundle update rake 

La versione del progetto è ora specificata nel Gemfile e il tuo AVVISO non è più disponibile.

+0

La tua soluzione ha funzionato per me, grazie – Steven

+3

Non ho più versioni di rake. – mcr

3

In alcuni progetti che non si rifanno l'intero rotaie impilano, aggiungendo rdoc al Gemfile è stata la chiave del successo per me:

group :development, :test do 
    gem 'rake', '~> 0.9.2.2' 
    gem "rdoc", '~> 3.12' 
end 

UPDATE: Questo è stato ancora mi bugging con un 3.0.x rotaie progetto. Rakefile, tutte le gemme sembravano ok ma stavo ancora ricevendo il problema. Per sapere esattamente dove l'avvertimento wacoming da Ho messo un canarino in gemme/rake-0.9.2.2/lib/rake/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 

Questa immediatamente indicò la questione nei binari pila stessa. Un rapido controllo ed è evidente che i binari 3.0.8 sono pieni di richieste di rake/rdoctask. L'aggiornamento alle guide (3.0.9 o superiore, credo) risolve il problema (oppure è possibile effettuare il downgrade del rake come altri hanno suggerito).

Ma mentre si sono bloccati su ~ 3.0.8 e non si desidera effettuare il downgrade rake, è possibile eliminare l'avviso impostando ignore_deprecate nel vostro 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 

Babylon::Application.load_tasks 

Perché eliminare l'avviso? La mia motivazione principale era garantire che i processi cron che invocassero rake non registrassero e inviassero l'output spuri.

+0

Questo non ha funzionato nel mio caso .. – e3matheus

+0

sì, è tornato a infastidire anche me. Il trucco rdoc si prende cura di una causa, ma ce ne sono altri ... – tardate

+0

ok ora sono felice: ho trovato una soluzione che funziona. (aggiornando la mia risposta di conseguenza) – tardate

4

Oltre a cambiare Gemfile ed eseguire 'fascio aggiornamento rake' sufficiente eseguire anche per me:

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