2016-09-04 4 views
5

私はnode.jsプロジェクトで数週間働いており、素晴らしい仕事をしています。通常、私は今日、ポート3000Node.jsポート3000は既に使用されていますが、実際には使用されていませんか?

、私のアプリを実行して、ローカルホスト上で、ブラウザに表示する「NPM開始」を使用し、私は、NPMの開始を使用している間、次のエラーを取得するために開始しました:

Server started on port 3000                                               
Port 3000 is already in use 

Iリソースモニターをチェックしましたが、ポート3000で実行中の他のプロセスはありません。なぜこのエラーメッセージが表示されますか?

私のapp.jsには、ポートを設定する次のコードがあります...これは間違っていますか?それは私が間違ってやっているか分からないので、うまくいきました。

// Set Port 
app.set('port', (process.env.PORT || 3000)); 
app.listen(app.get('port'), function() { 
    console.log('Server started on port '+app.get('port')); 
}); 

ありがとうございました!

EDIT: どのプロセスがポートを使用しているかを確認するためにnetstatとTCPViewを実行しようとしましたが、そのポートを使用するものはありません。私はまた、私のラップトップを再起動しようとしたが、私はまだ同じエラーが発生します。

+0

このポートを使用する別のプロセスがあります。あなたはどっちにしようとしていますか?あなたはあなたのオペレーティングシステムのために 'どのプロセスがポートを使用しているかを見つける'のようにグーグルにすることができます – tanaydin

+0

http:// localhost:3000 /にブラウズしようとしましたか? – Blorgbeard

+0

@tanaydin Windows 10でResource Monitorを確認しましたが、ポート3000でリッスンするプロセスはありません。 – user2573690

答えて

4

これは時々私に起こります、EADDRは使用中です。通常、アプリを実行している端末ウィンドウがバックグラウンドで隠れています。ターミナルウィンドウでctrl + Cを使用してプロセスを停止できます。

または、おそらくあなたはポートコピーによる複数回/パスタを聞いている=)

+0

助けてくれてありがとう!私は他のターミナル窓を開いていない、私は何を確認する必要がありますか? – user2573690

+0

ノードまたはnpmプロセスを見つけて終了します。もしあなたがまだファンクを持っているなら、マシンを再起動するか、あるいは別のポートを選んで作業してください。実際にはポート3000または8080でなければならない理由は全くありません – sova

+0

新しいノードアプリケーションを作成してポート3000で起動したところ、問題なく動作していますが、既存のプロジェクトを実行しようとするとポートが使用中である。この問題が起きたことはありますか? – user2573690

15

あなたはそのプロセスをkillする方法について検索することができます。

のLinux/Mac OSの検索(須藤)については

ターミナルでこれを実行する:あなたは、あなたのPC上でポート3000を取得しているプロセスを殺すのと同じ検索することができます

$ lsof -i tcp:3000 
$ kill -9 PID 

+1

感謝の男:)完璧に働いています。 –

14

ウィンドウの場合 タスクマネージャは、ノードプロセスが実行中であることを明確に示します。 プロセスを終了しようとすると、問題が解決します。

0

時々、@sovaが提案したように発生する時々、EADDRが使用されています。通常、アプリを実行している端末ウィンドウがバックグラウンドで隠れています。それは私と一緒にも正しいです。

これは、あなたが長時間端末を開いたときに起こります。そうです、あなたはプロセスを停止しました。しかし、時にはそれはバックグラウンドで停止しませんでした。 最高の解決策は、端末を閉じてもう一度起動することです。あなたの問題を解決します。私の場合はそれが機能するからです。

はまた、

sudo lsof -i:<PORT_NO> 

は、現時点のインスタンスを閉じるが、バックグラウンドで処理を停止することができません。私たちは、コードを更新し、保存する際に、一度、

sudo kill <PID> 

作品のため、しかし、再び、この問題は Nodemon と同様に再び起こります。

端末を終了すると問題は解決します。または

killall -9 node 
関連する問題