2016-07-11 8 views
0

beginnen kann ich meine app starten mit nodemon, nur durch nodemonSeltsam node.js Fehler versuchen express App

Eingabe bekam aber unter Fehler, wenn ich node app.js

enter image description here

My package.json tun ist richtig konfiguriert. Es hat

"scripts": { "start": "node ./bin/www" }

+0

Es gibt einen Prozess, möglicherweise eine vorherige Ausführung, die die Portnummer sperren, die Sie versuchen zu binden. Versuchen Sie, die Portnummer zu ändern. –

Antwort

0

Der Port wird bereits verwendet, möglicherweise wird bereits eine andere Instanz Ihrer Anwendung ausgeführt. Um zu sehen, welche Prozesse im Hintergrund laufen, verwenden Sie netstat -tlpn und filtern nur Knotenprozesse netstat -tlpn | grep node.

tcp  0  0 127.0.0.1:8081   0.0.0.0:*    LISTEN  22917/node   
tcp  0  0 127.0.0.1:8666   0.0.0.0:*    LISTEN  358/node    
tcp  0  0 127.0.0.1:8667   0.0.0.0:*    LISTEN  4416/node 

Wie Sie den Port 8081 sehen bereits vergeben ist, versuchen Sie es zu töten und Sie Server starten wieder kill 22917.

+0

eine Idee, warum ich versucht, pm2 starten app.js starten in meiner Express-App und es funktioniert nicht? –

+0

Haben Sie Fehlermeldungen erhalten, wenn ja, bitte hier posten. –

+0

Ich habe es geschafft. Ich habe 'PM2 Start www/bin' es hat funktioniert! das ist so seltsam, irgendeine idee warum? Ich bin auf Express 4 –

0

gibt es etwas in Gebrauch ist, versuchen Sie, Ihre Maschine neu zu starten, und versuchen Sie es erneut. = D

+0

meine Maschine bedeutet was? Ich habe diesen Fehler auf einem Cloud-Server –

+0

gut, versuchen Sie, diesen Server neu zu starten, sieht aus wie ein Prozess bereits ausgeführt haben und seine Erstellung einer neuen Instanz sperren. –

+0

Sie könnten diese Lösung auch versuchen: http://StackOverflow.com/Questions/4075287/Node-Express-EAddrinuse-Adress-Already-in-Use-Kill-Server –

1

EADDRINUSE bedeutet, dass ein Port, an den Ihre Knotenanwendung zu binden versucht hat, bereits von einem anderen Prozess gebunden wurde. In der Regel deutet dies darauf hin, dass Sie Ihren letzten Knotenprozess nicht vor dem Starten des aktuellen abgebrochen haben oder dass Sie Ihre Anwendung nicht für die Verwendung des richtigen Ports konfiguriert haben (z. B. einen Systemport, an den keine Verbindung hergestellt werden kann, oder einen Port unter 1024) welches administrativen Zugang erfordert, um an zu binden).

Verwandte Themen