ポート番号5000での「エラー:listen EADDRINUSE:アドレスは既に使用されています」の解決方法


  1. ポート番号の競合の確認: このエラーが発生した場合、まずは指定したポート番号が他のプロセスで使用されていないか確認しましょう。他のアプリケーションやサービスが同じポート番号を使用していないかを確認するために、次のコマンドを使用できます。

    $ lsof -i :5000

    上記のコマンドを実行すると、ポート番号5000を使用しているプロセスが表示されます。プロセスID(PID)を確認し、必要に応じてそのプロセスを終了させるか、別のポート番号を選択することができます。

  2. ポート番号の変更: もし他のプロセスがポート番号5000を使用している場合、アプリケーションのポート番号を変更することが解決策となります。アプリケーションのコード内で指定しているポート番号を変更し、使用可能な別のポート番号を選択してみてください。

    const port = 5001; // 使用可能なポート番号に変更
    app.listen(port, () => {
     console.log(`サーバーがポート ${port} で起動しました。`);
    });
  3. プロセスの再起動: もし他のプロセスがポート番号5000を使用していない場合でも、まれにポートが正しく解放されずにエラーが発生することがあります。この場合、一時的な問題かもしれないため、アプリケーションやサーバーを再起動してみてください。

  4. const server = app.listen({
     port: 5000,
     host: 'localhost',
     exclusive: true,
     // タイムアウト時間を設定 (デフォルトは2分)
     // タイムアウト時間を延長するとエラーが解消される可能性があります
     requestTimeout: 120000, // 2分
    });