2012-01-02 9 views
6

Solo una advertencia: soy un novato en los rieles.Rieles: ¿cómo puedo resolver la advertencia 'rake/rdoctask' 'está en desuso'?

cuando corro:

rake db:migrate 

me sale esta advertencia desaprobación:

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 

que estoy usando:

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

Si puedo desinstalar rastrillo 0.9.2.2 y 0.8.7 no usar ninguna advertencia, sino que no me cuentan que como una solución.

Después de una búsqueda en Google, muchos sitios dicen que necesito actualizar una línea en mi Rakefile (básicamente cambiar requiere 'rake/rdoctask' para requerir 'rdoc/task'). Sin embargo, mi Rakefile se ve así:

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

AppName::Application.load_tasks 

No hay ninguna declaración de requisito para reemplazar. Cuando agrego requiere 'rdoc/task', no tiene ningún efecto. Cuando busco en el proyecto el 'rake/rdoctask' obsoleto, no hay resultados. Entonces, ¿por qué se quejan los carriles?

edición: No estoy seguro de si es importante, pero aquí está mi 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

intente 'bundle exec rake db: migrate' – clyfe

+0

bundle exec rake db: migrate me da la misma advertencia. – user2393462435

+0

Esta advertencia a menudo sigue a un GEM que no se carga o no se empaqueta correctamente. ¿Tiene alguna declaración requerida en sus migraciones o podría publicar su Gemfile? Actualización: perdón, larga noche ... acabo de ver las declaraciones requeridas en su OP – ScottJShea

Respuesta

7

Nota que este se fija en adelante Rieles versiones 3.0.x (por ejemplo, Rails 3.0.9).

La corrección no está en el Rakefile de nivel superior, sino en el archivo mencionado en el error; es solo una notificación de propósito general:

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

En realidad, está relacionado con otra cosa; ver this.

+0

¿Dónde puso esto? En el Rakefile? – Marc

+0

@Marc No lo puse en ningún lado; esa es la línea que imprime la advertencia :) –

+0

Oh, lo siento. Yo malentendí la publicación. ¡Gracias! – Marc

2

este es mi 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 

que está trabajando para la notificación de errores.

Cuestiones relacionadas