問題
Rails7から'webpacker'ではなく、'foreman'を用いてCSS・JavaScriptの最適化を行うようになりました. そのため、CSS・JavaScriptの最適化が必要であれば、bin/dev
でサーバーを立ち上げることになりますが、この'foreman'は、標準入力を適切にハンドリングできないため、byebug
などのデバッグツールを利用しようとすると入力できません.
解決方法
- ForemanとRailsサーバーを別々に実行.
Procfile.devから、以下を削除し、別々に起動します.
Procfile.dev
- web: bin/rails server -p 3000
$ bin/rails s
$ bin/dev
docker利用時には以下のような感じで docker-compose.yml を記述すれば大丈夫です.
docker-compose.yml
version: '3.8'
services:
db:
~ 省略 ~
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle install && bin/dev & bin/rails s -p 3000 -b '0.0.0.0' && wait"
tty: true
stdin_open: true
~ 省略 ~
解決方法は以下の記事を参考に記載しました.