Ich lerne Winkel 2 und verwende zum ersten Mal das Winkel-CLI-Projekt, um ein Sandbox-Projekt zu erstellen.
Ich konnte den Befehl "ng serve" ausführen und er funktioniert hervorragend. Ich wollte verhindern, dass es läuft, also habe ich "Control Z" ausgeführt.
Als ich versuchte, den Befehl "ng-serve" erneut auszuführen, wurde "Port 4200 wird bereits verwendet" angezeigt.
Ich habe "PS" ausgeführt, um eine Liste der PID zu erhalten, und die PID für das Angular-Cli beendet und erneut "ng-serve" ausgeführt, es wird jedoch derselbe Port-in-Use-Fehler angezeigt.
Antworten:
Dies ist, was ich verwendet habe, um den Fortschritt auf Port 4200 zu beenden
Für Linux-Benutzer:
Sie können dies auch versuchen:
Für Windows-Benutzer:
Die Portnummer 4200 wird bereits verwendet. Öffnen Sie das cmd als Administrator. Geben Sie den folgenden Befehl in cmd ein:
Suchen Sie dann den Port mit der Portnummer 4200, indem Sie mit der rechten Maustaste auf das Terminal klicken und auf Suchen klicken, geben Sie 4200 in "Suchen nach" ein und klicken Sie auf "Weiter suchen": Angenommen, Sie haben festgestellt, dass die Portnummer 4200 von pid 18932 verwendet wird. Geben Sie den folgenden Befehl ein cmd:
Für UNIX:
Führen Sie nun ngf (anstelle von ng serve ) im Terminal aus dem Projektordner aus. Dadurch werden alle Prozesse über den Port 4200 abgebrochen und Ihr Angular-Projekt ausgeführt.
quelle
ng serve
einem anderen Verzeichnis ausgeführt werden möchte ? Ist es nicht sinnvoll, den Server auf diese Weise zu beenden und ihn dann woanders neu zu starten, oder fehlt mir etwas?--port <new_port>
^Z
eine vorhandene Winkelinstanz erstellt, die den Standardport verwendete, dumm mich!Öffnen Sie Ihre
cmd.exe
alsadministrator
,dann finden Sie die
PID
vonport 4200
Hier habe ich 3 PID:
LISTENING
töte nur Port 4200 (töte die rote PID):
Hinweis: Wenn Sie den grünen töten, wird Ihr Browser nur mit Gewalt geschlossen.
Jetzt können Sie "ng-serve" ausführen, um Ihre Winkel-App am selben Port 4200 zu starten
Zusätzliches Zeug:
Einzeiler: Nachdem Sie nach einer Möglichkeit gesucht haben, dies zu optimieren, finden Sie hier den Einzeiler-Befehl für diese Antwort: (Besonderer Dank geht an: Josep Alsina für diese Tipps)
quelle
cmd
, es nicht zu tunGit Bash
.Unter Mac OS X benötigen Sie den folgenden Befehl:
sudo lsof -t -i tcp:4200 | xargs kill -9
Denken Sie daran, dass Sie Angulars Webserver mit Befehl + C beenden müssen.
quelle
Nicht Strg + Z, Sie müssen für Stopp Strg + C laufen
quelle
Verwenden Sie diesen Befehl, um ng zu töten:
quelle
ng serve --port <YOUR_GIVEN_PORT_NUMBER>
Sie sollten den obigen Befehl versuchen, um auf Ihrem angegebenen Port ausgeführt zu werden.
quelle
Wenn Sie verwenden
Ctrl+Z
, werden Sie eine laufende Aufgabe anhalten, aber nicht beenden. Sie können den Befehl später verwendenfg
, um die Aufgabe fortzusetzen. Wenn Sie beenden möchtenng serve
, sollten SieCtrl+C
stattdessen verwenden, wodurch auch der 4200-Port freigegeben wird.quelle
Im Moment können
--port 0
Sie einen freien Port einrichten .quelle
--open
Flag zu verwenden, da Sie sonst nicht wissen, an welchem Port gestartet wurde.Wir können den Port gewaltsam töten, indem wir dem Befehl folgen.
quelle
Für Windows:
Öffnen Sie die Eingabeaufforderung und
Art:
netstat -a -o -n
Suchen Sie die PID des Prozesses, den Sie beenden möchten.
Art:
taskkill /F /PID 16876
Diese 16876 - ist die PID für den Prozess, den ich beenden möchte - in diesem Fall ist der Prozess 4200 - überprüfen Sie die angehängte Datei. Sie können eine beliebige Portnummer angeben.
Geben Sie nun Folgendes ein
ng serve
, um Ihre Winkel-App am selben Port 4200 zu startenquelle
Ich teile dies, da die beiden Geflügelbefehle auf meinem Mac nicht funktioniert haben:
Das Folgende hat es getan, aber wenn Sie das in Visual Code integrierte Terminal verwendet haben, versuchen Sie, Ihr Maschinenterminal zu verwenden, und fügen Sie den Befehl fowling hinzu:
quelle
Hier erfahren Sie, wer den Hafen hat.
quelle
und Zugriff mit
localhost:4201
Dies sollte als vorübergehende Lösung funktionieren.
oder
Versuchen
lsof -i:4200
Sie, die Portnutzung mit aufzulisten, und beenden Sie sie manuell mit
sudo kill -9 <Process PID using port 4200>
quelle
Zusammenfassend gibt es mehr als eine Lösung: 1) Durch Verwendung eines anderen Ports zum Definieren der Portnummer,
2) durch Beenden des Prozesses
3) Typ
netstat -a -n -o
Suchen Sie an der Eingabeaufforderung die zugehörige Port-PID und beenden Sie sie mit
taskkill /F /PID (pid number)
4) Typ
netstat -ano|findstr :4200
nahm die fremde Adresse PID, die die Portnummer enthält, und tötete sie dann durch
taskkill /PID (pid number)/F
quelle
Um zu verhindern, dass alle lokalen Ports in Windows ausgeführt werden, verwenden Sie nur diesen einfachen Kommentar, anstatt separat mit netstat nach pid zu suchen.
Es findet alle PIDs und stoppt den lokalen Port, der gerade ausgeführt wird.
quelle
Starten Sie einfach die von Ihnen verwendete IDE neu, dann funktioniert es.
quelle
Mit Strg + Z stellen Sie das Programm in den Hintergrund. Unter Linux können Sie die Sitzung mit dem folgenden Befehl wieder in den Vordergrund stellen:
fg ng serve
Sie müssen den Prozess nicht beenden.
quelle
Der einfachste einzeilige Befehl:
quelle
In meinem Fall hat keines der oben genannten funktioniert.
UBUNTU 18.04 VERSION
Der folgende Befehl hat funktioniert.
quelle
Wenn Sie VSCode verwenden, haben Sie die Möglichkeit, das Terminal zu beenden und ein neues Terminal hinzuzufügen. Schließen Sie die Registerkarte und öffnen Sie eine neue Registerkarte. Es hat bei mir funktioniert.
Bearbeitet: Verwenden Sie Strg + C und drücken Sie y. Auch ohne Tötungsterminal können Sie fortfahren. Wenn Sie eine neue Instanz von Visual Studio öffnen und eine andere Anwendung ausführen möchten, können Sie ng serve --port 4401 verwenden.
quelle
Das VScode-Terminal in Ubuntu OS verwendet den folgenden Befehl, um den Prozess abzubrechen
quelle
Sie können damit auch versuchen, Ihre Anwendung in Visual Studio-Code auszuführen -:
Sie können eine beliebige Portnummer angeben.
quelle
Es heißt, dass wir die Dienste bereits mit Port Nr. 4200 ausführen. Bitte verwenden Sie einen anderen Port anstelle von 4200. Der folgende Befehl dient zur Lösung des Problems
quelle
Sie können fuser -k 4200 / tcp verwenden, wenn es sich um ein Linux-Betriebssystem handelt
quelle
Beenden Sie den Prozess und schließen Sie das Terminal, mit dem Sie die App auf diesem Port ausgeführt haben.
quelle
Anstatt den gesamten Prozess abzubrechen oder zu verwenden
ctrl+z
, können Siectrl+c
den Server einfach zum Stoppen verwenden undng serve command
problemlos ohne verwendenerrors
oder wenn Sie auf einem anderen Port ausgeführt werden möchten, verwenden Sie einfach diesen Befehlng serve --port portno(ex: ng serve --port 4201)
.quelle
Für Ubndu 18.04 sudo lsof -t -i tcp: 3000 | Xargs töten -9
Es passiert, wenn der Port nicht erfolgreich beendet wurde, sodass dieser Befehl ihn mit 4200 oder 3000 oder 3300 beendet
quelle
Ich hatte auch die gleiche Fehlermeldung, also habe ich versucht , - Port 12012 zu bedienen, und es hat gut funktioniert.
quelle
Wenn Sie Ihren eckigen JS-Code sowohl in CMD als auch in IDE kompilieren, tritt dieses Problem auf. In CMD wird Ihr eckiger JS-Code automatisch kompiliert, wenn Sie Ihren eckigen JS-Code in der IDE ändern und Ihre IDE dann denselben Port belegen möchte, dh 4200, der bereits von CMD belegt ist. Es gibt also eine einfache Lösung für dieses Problem. Schließen Sie einfach Ihren cmd beim Kompilieren Ihres Codes in IDE.
quelle
Ich hatte jedes Mal das gleiche Problem, wenn ich den Hafen töten musste.
Ich habe
./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0
stattdessen versuchtnpm start
und seine Werkequelle