railsを6.0にアップデートしました。 特に何か新しい機能を入れたりはしていませんが、アップデートして問題なく動くことを確認しました。
capybaraのバージョンアップ
railsのバージョンがcapybaraのバージョンに引きずられて上がらなかったので、アップデートしました。
エラーの対応
rails6にしてデプロイすると、herokuで以下のエラーが出たので対応しました。
bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.6.0/bin/puma)
Errno::ENOENT: No such file or directory @ rb_sysopen - tmp/pids/server.pid
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/launcher.rb:135:in `initialize'/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/launcher.rb:135:in `open'
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/launcher.rb:135:in `write_pid'
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/launcher.rb:108:in `write_state'
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/single.rb:103:in `run'
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/launcher.rb:188:in `run'
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/lib/puma/cli.rb:80:in `run'
/app/vendor/bundle/ruby/2.6.0/gems/puma-4.1.0/bin/puma:10:in `<top (required)>'
/app/vendor/bundle/ruby/2.6.0/bin/puma:23:in `load'
/app/vendor/bundle/ruby/2.6.0/bin/puma:23:in `<top (required)>'
tmp/pids/.keep をgit管理に追加したら収束。
ちょっと原因は深く追ってない。