web-dev-qa-db-fra.com

"Le port 4200 est déjà utilisé" lors de l'exécution de la commande ng serve

J'apprends angular 2 et pour la première fois, j'utilise le projet CLI angulaire pour créer un projet de bac à sable. 

J'ai pu exécuter la commande "ng serve" et cela fonctionne très bien. Je voulais l'arrêter, alors j'ai lancé "Control Z". 

Lorsque j'ai essayé d'exécuter à nouveau la commande "ng-serve", elle m'a indiqué que "le port 4200 est déjà utilisé".

J'ai couru "PS" pour obtenir une liste du PID et ai tué le PID pour le angular-cli et ai couru "ng-serve" encore une fois cela donne le même port en erreur d'utilisation.

102
peztherez

C’est ce que j’avais l'habitude de tuer les progrès sur le port 4200

Sudo kill $(Sudo lsof -t -i:4200)

Vous pouvez aussi essayer ceci:

Sudo kill `Sudo lsof -t -i:4200`

Pour les utilisateurs de Windows:

Le numéro de port 4200 est déjà utilisé. Tapez ci-dessous la commande en cmd:

netstat -a -n -o

Et ensuite, recherchez le port avec le numéro de port 4200 en faisant un clic droit sur le terminal, cliquez sur trouver, entrez 4200 dans "trouver quoi" et cliquez sur "trouver suivant": sous la commande en cmd:

taskkill -f /pid 18932
172
Bart Hoekstra

Ouvrez votre cmd.exe en tant que administrator,

alors Trouvez la PID de port 4200

netstat -ano | findstr :4200

 Pid for port 4200

Ici j'ai 3 PID: 

  • Le rouge vient de "ng-serve" (127.0.0.1:4200) que LISTENING
  • Le vert vient de "votre navigateur" 

tuer uniquement le port 4200 (tuer le PID rouge): 

taskkill /PID 15940 /F

note: tuer le vert ne fera que forcer votre navigateur.

 taskkill pid 15940

vous pouvez maintenant faire "ng-serve" pour démarrer votre application angulaire sur le même port 4200 




Trucs supplémentaires: 

One liner: Après avoir cherché un moyen d'optimiser cela, voici la commande One-liner de cette réponse: (merci à: Josep Alsina pour ces astuces)

for /f "tokens=5" %a in ('netstat -ano ^| find "4200" ^| find "LISTENING"') do taskkill /f /pid %a
125
Anthony Kal

Sous Mac OS X, vous avez besoin de la commande suivante:

Sudo lsof -t -i tcp:4200 | xargs kill -9

N'oubliez pas que vous devez tuer le serveur Web d'Angular avec Command + C.

59
Julian Fraser

Pas ctrl + Z, Vous devez courir pour l’arrêt ctrl + C

11
Emir Mamashov

Utilisez cette commande pour tuer ng: 

pkill -9 ng
10
Lolita

ng serve --port <YOUR_GIVEN_PORT_NUMBER>

Vous devriez essayer la commande ci-dessus pour fonctionner sur votre port donné.

10
Shubham Verma

Lorsque vous utilisez Ctrl+Z, vous allez suspendre une tâche en cours d'exécution, mais pas la tuer. Vous pouvez utiliser ultérieurement la commande fg pour reprendre la tâche. Si vous voulez quitter ng serve, vous devez utiliser Ctrl+C, dans lequel le port 4200 sera également publié.

7
Roman Lo

Nous pouvons tuer de force le port en suivant la commande.

kill -2 $(lsof -t -i:4200)
6
sharath parupati

J'ai également fait face à la même erreur msg, donc j'ai essayé ng serve --port 12012 et cela a bien fonctionné.

6
Sachin Gaikwad

À l'heure actuelle, vous pouvez définir --port 0 pour obtenir un port libre.

ng serve --port 0 // will get a free port for you
5
Yevhen
ng serve --port 4201 --live-reload-port 4200

et accéder en utilisant localhost:4201

Cela devrait fonctionner comme une solution temporaire.

ou 

essayez de lister l'utilisation du port en utilisant
lsof -i:4200
et le tuer manuellement en utilisant
Sudo kill -9 <Process PID using port 4200>

4
shijin

Pour les fenêtres:

Ouvrez Invite de commande et

type: netstat -a -o -n

Trouvez le PID du processus que vous voulez tuer.

Type: taskkill /F /PID 16876

Celui-ci 16876 - est le PID du processus que je veux tuer - dans ce cas, le processus est 4200 - vérifiez le fichier joint.

 enter image description here

Maintenant, tapez: ng serve pour démarrer votre application angulaire sur le même port 4200

3
Jay Kareliya

Vous pouvez également essayer avec ceci d’exécuter votre application en code Visual Studio -: 

ng serve --open --port 4201

vous pouvez donner n'importe quel numéro de port.

2
HarmesH KaushiK
netstat -anp | grep ":4200"

Cela vous dira qui a le port.

2
Joshua

La commande la plus simple en une ligne:

 Sudo fuser -k 4200/tcp
2
Salman Ahmed

Avec ctrl + z, vous mettez le programme en arrière-plan . Sous Linux, vous pouvez rétablir la session au premier plan à l'aide de la commande suivante:

fg ng serve

Vous n'avez pas besoin de tuer le processus.

2
Spirit

Il suffit de redémarrer le IDE que vous utilisez pour que cela fonctionne.

1
aldo

Arrêtez le processus et fermez le terminal que vous avez utilisé pour exécuter l'application sur ce port.

1
Gjorgi Gjorgiev

Au lieu de tuer tout le processus ou d'utiliser ctrl+z, vous pouvez simplement utiliser ctrl+c pour arrêter le serveur et utiliser joyeusement ng serve command sans errors ou si vous souhaitez exécuter un autre port, utilisez simplement la commande ng serve --port portno(ex: ng serve --port 4201).

1
Alekya

Pour arrêter tout le port local en cours d'exécution dans Windows, utilisez ce simple commentaire à la place, recherchez plutôt pid séparément à l'aide de netstat.

Il trouve tous les pid et arrête le port local en cours d’exécution,

taskkill /im node.exe /f
1
saravana va

vous pouvez utiliser fuser -k 4200/tcp s'il s'agit d'un système d'exploitation Linux

1
Machhindra Neupane

Je partage ceci car les deux commandes fowling ne font pas le travail sur mon mac:

Sudo kill $(Sudo lsof -t -i:4200)

Sudo kill `Sudo lsof -t -i:4200`

La suivante a fonctionné, mais si vous utilisiez le terminal intégré dans Visual Code, essayez d’utiliser votre terminal et ajoutez la commande fowling:

lsof -t -i tcp:4200 | xargs kill -9
1
Ahmed Hadi

Si vous utilisez VSCode, vous avez la possibilité de tuer le terminal et d'ajouter un nouveau terminal. Fermez l'onglet et ouvrez un nouvel onglet. Cela a fonctionné pour moi.

1

Moi aussi, je suis confronté à un problème similaire et le problème est essentiellement que j’ai ouvert plusieurs terminaux en cours d’exécution dans powershell. Assurez-vous donc que vous Ctrl + c tous les autres.

0
Priyanka Arora

Sous Windows; Dans l'invite de commande qui exécute votre ng serve , cliquez et appuyez sur les touches:

ctrl + c

Il vous demandera: Terminate batch job (Y/N)? Et vous tapez Y

0
Sharif Yazdian

Pour Ubndu 18.04 Sudo lsof-t -i tcp: 3000 | xargs kill -9

Cela se produit lorsque le port a été arrêté sans succès Cette commande le terminera ainsi 4200 ou 3000 ou3300

0
user2642281

J'avais de gros problèmes avec cela, et j'essayais même avec beaucoup d'autres ports et rien.

J'ai fait npm install [email protected] et cela a résolu le problème. Pour une raison quelconque, la version TypeScript était à l'origine d'un conflit et l'utilisation de yarn ou ng serve ne fonctionnait pas.

espérons que cela fonctionne pour quiconque ayant le même problème.

0
Alejandro Giraldo

Accéder au projet en dehors de localhost

Exemple: 

ng serve --Host 192.168.2.2:7006
0
Dibish

La seule chose qui fonctionne pour moi est de redémarrer mon système/périphérique ...

Utilisation de Webstorm IDE par JetBrains.

0
Rick

Dans mon cas, rien de ce qui précède n'a fonctionné.

UBUNTU 18.04 VERSION

Au-dessous de la commande a fonctionné.

Sudo kill -9 $(lsof -i tcp:4200 -t)
0
Alien

netstat -plnet

tcp 0 0 127.0.0.1:4200 0.0.0.0:* ÉCOUTER 1001 63955 7077/ng 

tuer -9 7077

recommencez votre service.

0
Hacker Jarvis

Si vous compilez votre code JS angulaire dans CMD et IDE, ce problème se produit. Dans CMD, votre code JS angulaire se compile automatiquement chaque fois que vous modifiez votre code JS angulaire dans IDE, puis votre IDE souhaite occuper le même port, à savoir 4200 déjà occupé par CMD.__ est une solution simple à ce problème, fermez simplement votre cmd lors de la compilation de votre code dans IDE.

0
vishal
Port 4200 is already in use. Use '--port' to specify a different port

Cela signifie que vous avez déjà un autre service sur le port 4200. Si tel est le cas, vous pouvez également le faire. fermer l'autre service. utilisez l'indicateur --port lorsque vous exécutez ng serve comme ceci:

 ng serve --port 9001

Une autre chose à noter est que, sur certaines machines, le domaine localhost peut ne pas fonctionner ... .. Vous pouvez voir une série de nombres tels que 127.0.0.1. Lorsque vous exécutez ng serve, il devrait indiquerl'URL sur laquelle le serveur est exécuté, assurez-vous donc de lire les messages sur votre ordinateurpour trouver votre URL de développement exacte.

0
Mohammad Daliri

Je faisais face au même problème chaque fois que je devais tuer le port.

J'ai essayé ./node_modules/.bin/ng serve --proxy-config proxy.conf.json --Host 0.0.0.0 Au lieu de npm start et ses travaux

0
Ismail Farooq

Il est possible de changer de port dans le fichier .angular-cli. Par exemple:

"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
      "port": 4205
    }
  }

De plus, il est nécessaire d’ajouter ceci à votre package.json:

"ng": "ng",
"start": "ng serve"
0
StepUp

Il dit déjà que nous exécutons les services avec le port n ° 4200, veuillez utiliser un autre port au lieu de 4200. La commande ci-dessous consiste à résoudre le problème

ng serve --port 4300

0
dharma rao Palli

Comme première étape après toute modification, j'utilise ng build, puis ng serve. Cela fonctionne sans aucun problème.

0
Lena Neumann