Uczę się angular 2 i po raz pierwszy używam projektu angular CLI do tworzenia projektu sandbox.
Udało mi się uruchomić polecenie „ng służyć” i działa świetnie. Chciałem go zatrzymać, więc uruchomiłem „Control Z”.
Kiedy ponownie próbuję uruchomić polecenie „ng-serv”, otrzymuję informację „Port 4200 jest już używany”.
Uruchomiłem "PS", aby uzyskać listę PID i zabiłem PID dla angular-cli i uruchomiłem ponownie "ng-serv", ale nadal daje ten sam błąd w użyciu.
Odpowiedzi:
To jest to, czego użyłem do zabicia postępu na porcie 4200
Dla użytkowników Linuksa:
Możesz także spróbować tego:
Dla użytkowników systemu Windows:
Port numer 4200 jest już używany. Otwórz cmd jako administrator. Wpisz poniższe polecenie w cmd:
Następnie znajdź port z numerem portu 4200, klikając prawym przyciskiem myszy terminal i kliknij znajdź, wpisz 4200 w "znajdź co" i kliknij "znajdź następny": Powiedzmy, że znalazłeś, że numer portu 4200 jest używany przez pid 18932. Wpisz poniższe polecenie w cmd:
W systemie UNIX:
Teraz uruchom ngf (zamiast ng serv ) w terminalu z folderu projektu. Spowoduje to zabicie wszystkich procesów korzystających z portu 4200 i uruchomienie projektu Angular.
źródło
ng serve
w innym katalogu? Nie ma sensu zabijać serwera w ten sposób, a następnie restartować go w innym miejscu, czy czegoś mi brakuje?--port <new_port>
^Z
na istniejącej instancji kątowej, która korzystała z domyślnego portu, głuptasie!Otwórz
cmd.exe
jakoadministrator
,następnie znajdź
PID
zport 4200
Tutaj mam 3 PID:
LISTENING
zabij tylko port 4200 (zabij czerwony PID):
uwaga: zabicie zielonego spowoduje tylko zamknięcie przeglądarki na siłę.
teraz możesz użyć „ng-serv”, aby uruchomić swoją aplikację kątową na tym samym porcie 4200
Dodatkowe rzeczy:
Jedna linijka: po szukaniu sposobu na zoptymalizowanie tego, oto jedno liniowe polecenie tej odpowiedzi: (specjalne podziękowania dla: Josepa Alsiny za te wskazówki)
źródło
cmd
, a nieGit Bash
.W systemie Mac OS X potrzebujesz następującego polecenia:
sudo lsof -t -i tcp:4200 | xargs kill -9
Pamiętaj, że musisz zabić serwer WWW Angulara za pomocą Command + C.
źródło
Nie ctrl + Z, musisz uruchomić, aby zatrzymać ctrl + C
źródło
Użyj tego polecenia, aby zabić ng:
źródło
ng serve --port <YOUR_GIVEN_PORT_NUMBER>
Powinieneś wypróbować powyższe polecenie, aby uruchomić na podanym porcie.
źródło
Kiedy używasz
Ctrl+Z
, zamierzasz zawiesić uruchomione zadanie, ale nie zabijesz go. Możesz później użyć polecenia,fg
aby wznowić zadanie. Jeśli chcesz wyjśćng serve
, powinieneśCtrl+C
zamiast tego użyć , w którym zwolni się również port 4200.źródło
Teraz możesz ustawić
--port 0
wolny port.źródło
--open
flagi, w przeciwnym razie nie będziesz wiedział, w którym porcie został uruchomiony.Możemy na siłę zabić port, wykonując polecenie.
źródło
Dla Windowsa:
Otwórz wiersz polecenia i
rodzaj:
netstat -a -o -n
Znajdź PID procesu, który chcesz zabić.
Rodzaj:
taskkill /F /PID 16876
Ten 16876 - to PID procesu, który chcę zabić - w takim przypadku proces to 4200 - sprawdź załączony plik. Możesz podać dowolny numer portu.
Teraz wpisz:
ng serve
aby uruchomić aplikację kątową na tym samym porcie 4200źródło
Dzielę się tym, ponieważ dwa polecenia ptactwa nie wykonały pracy na moim Macu:
Poniższy zrobił, ale jeśli korzystałeś ze zintegrowanego terminala w kodzie wizualnym, spróbuj użyć terminala maszynowego i dodaj polecenie fowling:
źródło
Dzięki temu dowiesz się, kto ma port.
źródło
i dostęp za pomocą
localhost:4201
Powinno to działać jako rozwiązanie tymczasowe.
lub
spróbuj wypisać użycie portu przy użyciu
lsof -i:4200
i wyłącz go ręcznie za pomocą
sudo kill -9 <Process PID using port 4200>
źródło
Podsumowując, istnieje więcej niż jedno rozwiązanie: 1) Poprzez użycie innego portu do zdefiniowania numeru portu,
2) zabijając proces
3) Typ
netstat -a -n -o
w wierszu poleceń, a następnie znajdź powiązany PID portu i zabij go
taskkill /F /PID (pid number)
4) Typ
netstat -ano|findstr :4200
wziął zagraniczny adres PID zawierający numer portu, a następnie go zabił
taskkill /PID (pid number)/F
źródło
Aby zatrzymać cały port lokalny działający w systemie Windows, użyj samego tego prostego komentarza, zamiast szukać pid oddzielnie za pomocą netstat,
Znajduje cały pid i zatrzymuje aktualnie uruchomiony port lokalny,
źródło
Po prostu uruchom ponownie IDE, którego używasz, a wtedy będzie działać.
źródło
Za pomocą ctrl + z umieszczasz program w tle. W systemie Linux możesz przywrócić sesję na pierwszy plan za pomocą następującego polecenia:
fg ng serve
Nie musisz przerywać procesu.
źródło
Najprostsze polecenie jednowierszowe:
źródło
W moim przypadku żaden z wyżej wymienionych nie zadziałał.
WERSJA UBUNTU 18.04
Poniższe polecenie zadziałało.
źródło
Jeśli używasz VSCode, masz możliwość zabicia terminala i dodania nowego terminala. Zamknij kartę i otwórz nową kartę. U mnie to zadziałało.
Edytowane: użyj ctrl + c i naciśnij y. Bez zabijania terminala możesz kontynuować. Jeśli chcesz otworzyć nową instancję programu Visual Studio i uruchomić inną aplikację, możesz użyć narzędzia ng serv - port 4401.
źródło
Terminal VScode w systemie Ubuntu OS użyj następującego polecenia, aby zabić proces
źródło
Możesz także spróbować uruchomić aplikację w kodzie Visual Studio -:
możesz podać dowolny numer portu.
źródło
Mówi, że już uruchamiamy usługi z portem nr 4200, użyj innego portu zamiast 4200. Poniższe polecenie służy do rozwiązania problemu
źródło
możesz użyć fuser -k 4200 / tcp, jeśli jest to system operacyjny Linux
źródło
Zabij proces i zamknij terminal, którego używałeś do uruchamiania aplikacji na tym porcie.
źródło
Zamiast zabijać cały proces lub używać
ctrl+z
, możesz po prostu użyćctrl+c
do zatrzymania serwera i szczęśliwie używaćng serve command
bez żadnegoerrors
lub jeśli chcesz uruchomić na innym porcie, po prostu użyj tego poleceniang serve --port portno(ex: ng serve --port 4201)
.źródło
W przypadku Ubndu 18.04 sudo lsof -t -i tcp: 3000 | xargs zabija -9
Dzieje się tak, gdy port został zakończony niepowodzeniem, więc to polecenie zakończy go 4200 lub 3000 lub3300
źródło
Napotkałem również ten sam błąd msg, więc próbowałem ng służyć - port 12012 i działało dobrze.
źródło
Jeśli kompilujesz swój kątowy kod JS zarówno w CMD, jak i IDE, ten problem występuje. W CMD, twój kątowy kod JS kompiluje się automatycznie za każdym razem, gdy zmienisz swój kątowy kod JS w IDE, a następnie IDE chce zajmować ten sam port, tj. 4200, który jest już zajęty przez CMD. Jest więc proste rozwiązanie tego problemu, po prostu zamknij cmd podczas kompilowania kodu w IDE.
źródło
Miałem ten sam problem za każdym razem, gdy muszę zabić port.
Próbowałem
./node_modules/.bin/ng serve --proxy-config proxy.conf.json --host 0.0.0.0
zamiastnpm start
i to działaźródło