2012-01-02 3 views
6

Просто предупреждение: я рельсы noob.Rails: как мне разрешить предупреждение 'rake/rdoctask' 'is revrecated'?

Когда я бегу:

rake db:migrate 

Я получаю это предупреждение устаревания:

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 

Я использую:

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

Если я удаляю грабли 0.9.2.2 и использовать 0.8.7 нет никакого предупреждения, но я скорее не считать, что в качестве решения.

После поиска в google многие сайты говорят, что мне нужно обновить строку в моем Rakefile (в основном для изменения требуется «rake/rdoctask», чтобы потребовать «rdoc/task»). Однако мой Rakefile выглядит так:

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

AppName::Application.load_tasks 

Нет необходимости в заявке на замену. Когда я добавляю require 'rdoc/task', он не действует. Когда я ищу проект для устаревшей «rake/rdoctask», результатов нет. Так почему рельсы жалуются?

редактировать: Не уверен, если это имеет значение, но вот мой 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

попробуйте 'bundle exec rake db: migrate' – clyfe

+0

bundle exec rake db: migrate дает мне то же предупреждение. – user2393462435

+0

Это предупреждение часто следует за GEM, который не загружается или неправильно упакован. У вас есть какие-либо требования в ваших миграциях или вы можете опубликовать свой Gemfile? Обновление: извините, долгая ночь ... только что увидела требуемые заявления в вашем OP – ScottJShea

ответ

7

Примечание это зафиксировано в более поздних Rails 3.0.x версии (например, Rails 3.0.9).

Исправление не находится в верхнем уровне Rakefile, а скорее в файле, указанном в ошибке; это только уведомление общего назначения:

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

Это на самом деле связано с чем-то еще; см. this.

+0

Где вы это положили? В Rakefile? – Marc

+0

@Marc Я нигде не поместил его; это строка, которая печатает предупреждение :) –

+0

О, извините. Я неправильно понял этот пост. Благодаря! – Marc

2

это мой 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 

, что работает для уведомления об ошибке.

 Смежные вопросы

  • Нет связанных вопросов^_^