6

ただの警告: 私は Rails 初心者です。

私が実行すると:

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

私は使用しています:

  • レール 3.0.1
  • レーキ 0.9.2.2
  • RSpec 2.0.1
  • RDoc 3.12

rake 0.9.2.2 をアンインストールして 0.8.7 を使用すると、警告は表示されませんが、それを解決策とは見なしません。

Google 検索の後、多くのサイトで Rakefile の行を更新する必要があると言われています (基本的には、require 'rake/rdoctask' を require '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
4

2 に答える 2

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

ただし、実際には他の何かに関連しています。これを参照してください。

于 2012-01-02T16:14:36.153 に答える
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

それはバグ通知のために働いています。

于 2012-10-03T04:01:00.870 に答える