При запуске любой rake
задачи получаю:
NoMethodError: неопределенный метод `last_comment 'для
Это было после того, как bundle update
вытащили новую версию rake, версию 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: неопределенный метод `last_comment 'для # <Rake :: Application: 0x007ff0cf37be38>
Версии
- Рельсы 3.2.11
- Рейк 11.0.1
bundle exec
после этого, как все еще использоватьrake
без пакета exec ??rake db:create:all
это исключение.last_comment
, где в кодовой базе я не помню. Я не знаю, вызывает ли также Rails 4last_comment
. Но вы можете проверить кодовую базу rails, переключиться на ветвь Rails 4 и использовать grep для "last_comment" вRakefile
и*.task
.в Rails быстрое исправление можно редактировать
./Rakefile
(в папке вашего приложения)и добавьте эти строки перед вызовом
Rails.application.load_tasks
:так все
Rakefile
может выглядетьисточник
last_comment
было отменено и теперь будет удалено в rake 12.0.Обновление до последней версии
Rspec
гем работает:bundle update rspec-rails
источник
Просто улучшите самоцвет
rspec-rails
Сейчас:
gem 'rspec-rails', '~> 3.5', '>= 3.5.2'
объятий!
источник
gem 'rspec-rails', '~> 3.6'
спас мне жизнь, большое спасибо !! И я подумал, что в моем коде есть что-то вроде last_comment! LOLЭто проблема с рейком , которая уже решена.
Ответ @exexample8 - это патч обезьяны, и его следует избегать.
Как отмечает @Kris, эта проблема изолирована
rake 11.0.1
. Поскольку @Kris опубликовал свой ответ, доступны новые версии Rake, и в идеале вы сможете идти в ногу со временем и не быть привязанными к старой версии Rake. Поверьте, я был там, и это плохая идея, если вы можете помочь. Также это не проблема с Rails 2.3 или любой версией rails.Любые грабли
< v11.0.1
или> v11.0.1 and < v12
будут работать, но это все еще работа, и ее также следует избегать; в идеале вы сможете идти в ногу со временем.Поскольку
last_comment
эта зависимость устарела, необходимо обновить саму зависимость. В моем случае это было,rspec-core
кстати, исправлено только в v3.4.4 .Исправление
Обновите свою зависимость до версии, которая не вызывает,
last_comment
аlast_description
вместо этого вызывает . Вероятно, это исправитrspec
обновлениеrspec-core
до 3.4.4 или выше.rspec-core
<3.4.4 звонкиlast_comment
.Если у вашей зависимости нет версии, которая не вызывает запросов
last_description
, будьте порядочным гражданином и отправьте PR, чтобы исправить это :)источник