NoMethodError: rake 11 にアップグレードした後の未定義メソッド `last_comment' 質問する

NoMethodError: rake 11 にアップグレードした後の未定義メソッド `last_comment' 質問する

タスクを実行すると次のメッセージrakeが表示されます:

NoMethodError: 未定義のメソッド `last_comment' が

これは、bundle updaterake の新しいバージョンであるバージョン が取り込まれた後に行われました11.0.1

$ grep rake Gemfile.lock
       rake
       rake (>= 0.8.7)
     rake (11.0.1)
       rake
$ bundle update
$ bundle exec rake db:drop # any rake task

NoMethodError: #< Rake::Application:0x007ff0cf37be38> のメソッド `last_comment' が定義されていません

バージョン

  • レール3.2.11
  • レーク 11.0.1

ベストアンサー1

レーク 11.0.1削除するlast_commentこの方法 は レール2.3 rspec-core (< 3.4.4) を使用します。したがって、パッチがリリースされるまで、またはリリースされた場合は、Gemfile で rake を古いバージョンに固定する必要があります。

gem 'rake', '< 11.0'

それから:

$ bundle update
$ grep rake Gemfile.lock 
      rake
      rake (>= 0.8.7)
    rake (10.5.0)
      rake
  rake (< 11.0)

現在、メソッドがまだ残っている rake 10.5.0 を使用しておりlast_commentrakeタスクは再び動作するようになります。

アップデート: これは rspec で修正されたため、必要なのは rspec を更新することだけです。

おすすめ記事