エラーが出た状況
cloud9を使用し、Ruby on railsのアプリ開発をしているrails2か月目の初心者です。
マイグレーションを実行しようとしたところ、このようなエラーが出てしまいました。
$ rake db:migrate
rake aborted!
NoMethodError: undefined method `last_comment' for #<Rake::Application:xxxxxxxxxx>
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-core-3.1.7/lib/rspec/core/rake_task.rb:104:in `define'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-core-3.1.7/lib/rspec/core/rake_task.rb:80:in `initialize'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec/rails/tasks/rspec.rake:11:in `new'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec/rails/tasks/rspec.rake:11:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec-rails.rb:13:in `load'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec-rails.rb:13:in `block in <class:Railtie>'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:239:in `instance_exec'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:239:in `block in run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:247:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:247:in `each_registered_block'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:239:in `run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/application.rb:442:in `block in run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/engine/railties.rb:13:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/engine/railties.rb:13:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/application.rb:442:in `run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/engine.rb:457:in `load_tasks'
/home/ec2-user/environment/kyounogohan/Rakefile:6:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.1/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:24:in `eval'
/usr/local/rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:24:in `<main>'
(See full trace by running task with --trace)
解決方法
以下のサイトを参考にしました
最初の RSpec テストが失敗する場合
Gemfileに以下のように追加する。
(略)
gem 'rake', '< 11.0'
そのあと、ターミナルで以下を実行。
$ bundle update rake
もう一度、マイグレーション。
$ rake db:migrate
== 20180907133239 CreateTags: migrating =======================================
-- create_table(:tags)
-> 0.0123s
== 20180907133239 CreateTags: migrated (0.0131s) ==============================
== 20180907133339 CreatePostTagRelations: migrating ===========================
-- create_table(:post_tag_relations)
-> 0.0328s
== 20180907133339 CreatePostTagRelations: migrated (0.0378s) ==================
Annotated (4): app/models/post_tag_relation.rb, spec/models/post_tag_relation_spec.rb, app/models/tag.rb, spec/models/tag_spec.rb
うまくいきましたー!サイトで教えてくださった方様様です。
GemfileにRakeを記述していないとああいうエラーが出るのでしょうか。
原因説明までできておりませんが、今日のエラーは以上です。