2012-01-02 4 views
6

ちょうどforewarning:私はレールのnoobです。Rails: 'rake/rdoctask'は廃止されましたという警告をどのように解決するのですか?

私が実行します。

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

私は熊手0.9.2.2をアンインストールし、警告はありません0.8.7を使用しますが、私はむしろ解決策として、それを数えていない場合。

Google検索の後、多くのサイトは自分のRakefileの行を更新する必要があると言います(基本的には 'rdoc/task'を要求するために 'rake/rdoctask'が必要です)。しかし、私の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

「バンドルexec rake db:migrate」 – clyfe

+0

バンドルexec rake db:migrateは私に同じ警告を与えます。 – user2393462435

+0

この警告は、ロードに失敗したGEM、または正しくパッケージ化されていないGEMに続くことがよくあります。あなたのマイグレーションにrequireステートメントがありますか、またはGemfileを投稿できますか? 更新:申し訳ありませんが、長い夜...あなたのOPのrequireステートメントを見ました – 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 

です。

関連する問題