🐕

【こんな原因かよ。。。】Nodejs address already in use :::5000 の対処法

2024/09/02に公開

httpとexpressを用いたサーバーの開発を始めたのですが、下記のエラー文を発見しました!

Nodejs address already in use :::5000

まず、エラー文を見て考えられる原因を考えて見ましょう!

「5000番は既に使われている」と言った文意が伝わってきますよね

つまり、「ポート番号5000番は既にプロセスが動いていて、新しく5000番でプロセスを始めることはできないよ」という意味なのです!

では、このエラーはどう解決していけば良いのでしょう?

基本的には、思い当たる節のあるNode.jsのプロセスを切ってから新しくプロセスを開始するのが解決策です。

しかし、「思い当たる節がないし、5000番でプロセスを始めるとどうしてもこのエラーが起こってしまう!」という場合、次の手順で解決できるかもしれません。

システム環境設定→共有→AirPlayレシーバーのチェックを外す

原因としては、macOS Monterey というOSのバージョンのアップデートが関係しているらしいです。

macが AirPlayの中継機として、ポート番号5000番を常にlistenしているらしいですよ。

ここで動いていたプロセスが、エラーの原因だったわけです!

最後まで読んでくれてありがとうございました!

この記事を読んでくれているということは、勉強している証拠!めげずに頑張っていきましょうね(^^)

Discussion