2012-01-02 14 views
6

Solo un preavviso: sono un noob rotaie.Rails: come posso risolvere l'avviso 'rake/rdoctask' 'deprecato'?

quando ho eseguito:

rake db:migrate 

ottengo questo deprecazione avvertimento:

WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead. 
    at /Users/username/Code/rails/appname/rake/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb 

sto usando:

  • Rails 3.0.1
  • Rake 0.9.2.2
  • RSpec 2.0.1
  • RDoc 3,12

Se disinstallo rastrello 0.9.2.2 e utilizzare 0.8.7 non c'è nessun avvertimento, ma io piuttosto non conta che come una soluzione.

Dopo una ricerca su google, molti siti dicono che ho bisogno di aggiornare una riga nel mio Rakefile (in pratica il cambiamento richiede 'rake/rdoctask' per richiedere 'rdoc/task'). Tuttavia, il mio Rakefile ha il seguente aspetto:

require File.expand_path('../config/application', __FILE__) 
require 'rake' 

AppName::Application.load_tasks 

Non è necessario sostituire la dichiarazione. Quando aggiungo richiedono 'rdoc/task', non ha alcun effetto. Quando cerco il rake/rdoctask del deprecato del progetto, non ci sono risultati. Allora, perché le rotaie si lamentano?

edit: Non sono sicuro se è importante, ma ecco la mia Gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.0.1' 
gem 'sqlite3-ruby', :require => 'sqlite3' 

group :development, :test do 
    gem 'rspec-rails', '2.0.1' 
    gem 'annotate-models', '1.0.4' 
end 

group :test do 
    gem 'rspec', '2.0.1' 
    gem 'webrat', '0.7.1' 
    gem 'spork', '0.8.4' 
end 
+0

try 'bundle exec rake db: migrate' – clyfe

+0

bundle exec rake db: migrate mi dà lo stesso avviso. – user2393462435

+0

Questo avviso segue spesso un GEM che non riesce a caricare o non è correttamente pacchettizzato. Avete richieste di dichiarazioni nelle vostre migrazioni o potreste pubblicare il vostro Gemfile? Aggiornamento : scusa, lunga notte ... ho appena visto le dichiarazioni obbligatorie nel tuo OP – ScottJShea

risposta

7

Nota questo è stato risolto in seguito Rails versioni 3.0.x (per esempio, Rails 3.0.9).

La correzione non è nel Rakefile di primo livello ma piuttosto nel file indicato nell'errore; è solo una notifica generale:

if Rake.application 
    Rake.application.deprecate('require \'rake/rdoctask\'', 'require \'rdoc/task\' (in RDoc 2.4.2+)', __FILE__) 
end 

In realtà è collegato a qualcos'altro, però; vedi this.

+0

Dove l'hai messo? Nel Rakefile? – Marc

+0

@Marc Non l'ho messo da nessuna parte; quella è la riga che stampa l'avviso :) –

+0

Oh scusa. Ho frainteso il post. Grazie! – Marc

2

questo è il mio 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 

myapp::Application.load_tasks 

che sta lavorando per la notifica dei bug.

Problemi correlati