Windows 7でNode.jsアプリが起動しない?「Error: listen EADDRINUSE」の解決策まとめ
Node.js で Windows 7 上のローカルホストで "Error: listen EADDRINUSE" を解決する方法
Node.js アプリケーションを実行しようとすると、以下のエラーが発生します。
Error: listen EADDRINUSE: address already in use :::3000
これは、ポート 3000 が既に他のアプリケーションによって使用されていることを意味します。
解決策
以下の方法で問題を解決できます。
使用中のポートを確認する
以下のコマンドを実行して、使用中のポートを確認します。
netstat -ano | findstr :3000
このコマンドを実行すると、ポート 3000 を使用しているアプリケーションが表示されます。
使用中のアプリケーションを終了する
上記のステップで特定したアプリケーションを終了します。
ポートを変更する
アプリケーションのコードで、使用するポートを変更します。
const app = express();
const port = 3001; // 3000 を 3001 に変更
app.listen(port, () => {
console.log(`Server listening on port ${port}`);
});
'kill' コマンドを使用する
taskkill /PID PID /F
PID は、上記の netstat
コマンドで特定したプロセス ID に置き換えます。
lsof -i :3000
このコマンドを実行すると、ポート 3000 を使用しているファイル記述子と、そのファイル記述子を所有しているプロセス ID が表示されます。
プロセス ID を上記の taskkill
コマンドに使用して、プロセスを強制終了できます。
補足
- 上記の解決策は、Windows 7 で Node.js アプリケーションを実行する場合にのみ適用されます。
- ポート番号は、アプリケーションのコードで自由に設定できます。
- アプリケーションを起動する前に、ポート番号が使用中かどうかを確認することをお勧めします。
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.listen(port, () => {
console.log(`Server listening on port ${port}`);
});
このコードを実行するには、以下のコマンドを実行します。
node index.js
ブラウザで http://localhost:3000
にアクセスすると、"Hello, World!" というメッセージが表示されます。
このコードを例として、以下の方法で "Error: listen EADDRINUSE" を解決できます。
- ポートを変更する:
port
変数を別の値に変更します。
上記の解決策の詳細については、上記の回答を参照してください。
その他の解決策
Node.js のバージョンを確認する
古いバージョンの Node.js を使用している場合は、このエラーが発生する可能性があります。Node.js の最新バージョンに更新してください。
まれに、npm install
コマンドを実行すると、ポートがロックされることがあります。この問題を解決するには、以下のコマンドを実行します。
npm cache clean --force
'node --version' コマンドを実行する
node --version
Node.js のバージョンが古い場合は、https://nodejs.org/en/download/package-manager から最新バージョンをダウンロードしてインストールできます。
'npm cache clean --force' コマンドを実行する
以下のコマンドを実行して、npm キャッシュをクリアします。
npm cache clean --force
このコマンドを実行すると、npm キャッシュ内のすべてのファイルが削除されます。
コンピュータを再起動する
上記の方法で問題が解決しない場合は、コンピュータを再起動してみてください。
注意: 上記の解決策は、個々の状況によって異なる場合があります。問題が解決しない場合は、Node.js コミュニティフォーラム (https://github.com/NodeBB/NodeBB) で助けを求めることができます。
node.js windows-7