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.
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
Ouvrez votre cmd.exe
en tant que administrator
,
alors Trouvez la PID
de port 4200
netstat -ano | findstr :4200
Ici j'ai 3 PID:
LISTENING
tuer uniquement le port 4200 (tuer le PID rouge):
taskkill /PID 15940 /F
note: tuer le vert ne fera que forcer votre navigateur.
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
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.
Pas ctrl + Z, Vous devez courir pour l’arrêt ctrl + C
Utilisez cette commande pour tuer ng:
pkill -9 ng
ng serve --port <YOUR_GIVEN_PORT_NUMBER>
Vous devriez essayer la commande ci-dessus pour fonctionner sur votre port donné.
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é.
Nous pouvons tuer de force le port en suivant la commande.
kill -2 $(lsof -t -i:4200)
J'ai également fait face à la même erreur msg, donc j'ai essayé ng serve --port 12012 et cela a bien fonctionné.
À 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
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 utilisantlsof -i:4200
et le tuer manuellement en utilisantSudo kill -9 <Process PID using port 4200>
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.
Maintenant, tapez: ng serve
pour démarrer votre application angulaire sur le même port 4200
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.
netstat -anp | grep ":4200"
Cela vous dira qui a le port.
La commande la plus simple en une ligne:
Sudo fuser -k 4200/tcp
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.
Il suffit de redémarrer le IDE que vous utilisez pour que cela fonctionne.
Arrêtez le processus et fermez le terminal que vous avez utilisé pour exécuter l'application sur ce port.
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)
.
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
vous pouvez utiliser fuser -k 4200/tcp s'il s'agit d'un système d'exploitation Linux
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
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.
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.
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
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
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.
Accéder au projet en dehors de localhost
Exemple:
ng serve --Host 192.168.2.2:7006
La seule chose qui fonctionne pour moi est de redémarrer mon système/périphérique ...
Utilisation de Webstorm IDE par JetBrains.
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)
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.
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.
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.
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
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"
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
Comme première étape après toute modification, j'utilise ng build
, puis ng serve
. Cela fonctionne sans aucun problème.