/ / Rails:「rake / rdoctask」は非推奨です」という警告を解決するにはどうすればよいですか? --ruby-on-rails、ruby-on-rails-3、rspec、rake、rdoc

Rails: 'rake / rdoctask'は廃止されましたという警告をどのように解決するのですか? - ruby​​-on-rails、ruby-on-rails-3、rspec、rake、rdoc

ただの警告:私はレールの初心者です。

私が走るとき:

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
  • レーキ0.9.2.2
  • RSpec 2.0.1
  • RDoc 3.12

rake 0.9.2.2をアンインストールして0.8.7を使用しても警告はありませんが、それを解決策として数えません。

グーグル検索の後、多くのサイトは、Rakefileの行を更新する必要があると言っています(基本的に、require‘rake / rdoctask ’をrequire‘rdoc / task’に変更します)。ただし、私のRakefileは次のようになります。

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

AppName::Application.load_tasks

置き換えるrequireステートメントはありません。require "rdoc / task"を追加しても、効果はありません。非推奨の「rake / rdoctask」をプロジェクトで検索しても、結果が得られません。では、なぜrailsが不平を言っているのでしょうか。

編集: それが重要かどうかはわかりませんが、ここに私の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

回答:

回答№1の場合は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

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


回答№2については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

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