rails s 実行時に、Address already in use とエラーがでるときの対処法
状態
rails s
で、サーバー立ち上げようとするが、エラー発生。
Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)
「ローカルサーバー3000番ポートがすでに使われている」ためのエラーのよう...
対処
1. lsof -i:3000
でポート3000番を使用しているプロセスを確認
$ lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 1444 user 19u IPv4 0x1e75dcaef29d670b 0t0 TCP localhost:hbci (LISTEN)
ruby 1444 user 20u IPv6 0x1e75dcaeebb77103 0t0 TCP localhost:hbci (LISTEN)
ruby 1444 user 25u IPv6 0x1e75dcaeebb76583 0t0 TCP localhost:hbci->localhost:50195 (CLOSE_WAIT)
ruby 1444 user 26u IPv6 0x1e75dcaeebb75fc3 0t0 TCP localhost:hbci->localhost:50196 (CLOSE_WAIT)
2.kill -9 1444
でプロセスを kill する。
続いて、lsof -i:3000
でプロセスを確認
$ kill -9 1444
$ lsof -i:3000
=> なし
3. 再度、rails s
。
$ rails s
=> Booting Puma
=> Rails 5.2.3 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode..
結果
・無事、動作しました。 ^ - ^