`bind’: Address already in use – bind(2) for 127.0.0.1:3000 (Errno::EADDRINUSE)の対応

原因

すでにlocalhost:3000のポートが使われてしまっているよというエラー

解決策

  • すでに使用しているlocalhost:3000のポートのプロセスを探す
  • プロセスを切断する
  • 新しくプロセスを立ち上げる

具体的なコマンド

以下のコマンドで現在のプロセスを確認します。

ps aux | grep puma

以下のような感じで、現在のプロセスが表示されます。

PID   TT  STAT      TIME COMMAND
4662   0.0  0.1  4601556   8820   ??  S    10:48am   1:10.37 puma: cluster worker 1: 4395 [my-app]
4661   0.0  0.1  4882676  10300   ??  S    10:48am   2:14.49 puma: cluster worker 0: 4395 [my-app]
4395   ??  S      0:16.88 puma 3.12.1 (tcp://0.0.0.0:3000) [my-app]

以下のコマンドで、プロセスを切断します。

kill -9 4395 4661 4662

一回プロセスが切断されているか確認しても良いですが、プロセスが切断されていたら、再度サーバーを立ち上げます。

Railsなどであれば以下のコマンドですかね。

rails s

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA