Al ejecutar cualquier rake
tarea obtengo:
NoMethodError: método indefinido `last_comment 'para
Esto fue después de lo bundle update
cual sacó la nueva versión de rake, versión 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: método indefinido `last_comment 'para # <Rake :: Aplicación: 0x007ff0cf37be38>
Versiones
- Carriles 3.2.11
- Rastrillo 11.0.1
bundle exec
después de hacer esto, ¿cómo seguir usandorake
sin el paquete exec?rake db:create:all
lanza esta excepción.last_comment
, donde en la base de código esto no lo recuerdo. No sé si Rails 4 también llamalast_comment
. Pero puede verificar la base de código de rails, cambiar a la rama Rails 4 y grep para "last_comment" enRakefile
y*.task
.en Rails, la solución rápida se puede editar
./Rakefile
(en la carpeta de la aplicación)y agregue estas líneas antes de llamar
Rails.application.load_tasks
:tan completo
Rakefile
podría parecerfuente
last_comment
se revirtió y ahora se eliminará en el rastrillo 12.0.La actualización a la última
Rspec
gema hace el trabajo:bundle update rspec-rails
fuente
Solo actualiza la gema
rspec-rails
Ahora:
gem 'rspec-rails', '~> 3.5', '>= 3.5.2'
¡abrazos!
fuente
gem 'rspec-rails', '~> 3.6'
me salvó la vida, muchas gracias !! ¡Y pensé que tenía algo como last_comment dentro de mi código! LOLEste es un problema en el rastrillo que ya se ha abordado.
La respuesta de @ equivalente8 es un parche de mono y debe evitarse.
Como señala @Kris, este es un problema aislado
rake 11.0.1
. Dado que @Kris ha publicado su respuesta, hay nuevas versiones de Rake disponibles e, idealmente, podría quedarse con los tiempos y no estar sujeto a una versión anterior de Rake. Créeme, he estado allí y no es una buena idea si puedes evitarlo. Además, esto no es un problema con Rails 2.3 o cualquier versión de rails.Cualquier rastrillo
< v11.0.1
o> v11.0.1 and < v12
funcionará, pero esto sigue siendo una solución y también debe evitarse; idealmente podrás quedarte con los tiempos.Como
last_comment
está en desuso, la dependencia en sí misma debe actualizarse. En mi caso fue lorspec-core
que, por cierto, solo solucionó esto en v3.4.4 .La solución
Actualice su dependencia a una versión que no llame,
last_comment
sino que llamelast_description
. Es probablerspec
y la actualizaciónrspec-core
a 3.4.4 o superior lo solucionará.rspec-core
<3.4.4 llamadaslast_comment
.Si su dependencia no tiene una versión que no llame
last_description
, sea un buen ciudadano y envíe un RP para solucionarlo :)fuente