100 votes

React native ERROR Packager ne peut pas écouter sur le port 8081

Quand je lance la commande react-native start il montre Packager can't listen on port 8081 .

Je sais que le problème vient du fait que le logiciel utilise mon port 8081.

J'utilise Resource Monitor pour voir le port, mais je ne trouve pas 8081, il n'y a pas de 8081.

Quelqu'un peut-il me montrer comment le trouver ?

enter image description here

1 votes

Jetez un coup d'œil à ce poste vous devriez le trouver.

0 votes

En plus des autres réponses, assurez-vous que le bundler Metro ne tourne pas déjà dans une fenêtre de terminal oubliée quelque part.

162voto

RC_02 Points 21

Sur un mac, exécutez la commande suivante pour trouver l'identité du processus qui utilise le port 8081
sudo lsof -i :8081
Ensuite, exécutez ce qui suit pour terminer le processus :
kill -9 23583

Voici à quoi cela ressemblera enter image description here

5 votes

Fonctionne également sur ubuntu 18.04

1 votes

Cela a également fonctionné pour moi, sur MacOS High Sierra.

1 votes

Cela a aussi fonctionné pour moi sur MacOS Big Sur.

118voto

Viktor Seč Points 1680

Vous pouvez exécuter le packager sur un autre port.

$ react-native start --port=8088

Vous pouvez aussi découvrir ce qui utilise quels ports sous Windows avec netstat.

$ netstat -a -b -o

Netstat vous donne un PID, que vous pouvez utiliser pour tuer le processus.

$ taskkill /pid 1234

32voto

Pulkit Aggarwal Points 1041

Cette erreur est due au fait qu'un processus est déjà en cours d'exécution sur le port 8081. Arrêtez ce processus et exécutez ensuite votre commande, qui exécutera votre code. Pour cela, il faut d'abord lister tous les processus qui utilisent ce port en tapant

lsof -i :8081  

Cette commande listera l'identifiant (PID) du processus et tuera ensuite le processus du nœud en utilisant

kill -9 <PID>  

Ici PID est l'identifiant du processus du nœud.

20voto

Miodrag Smolovic Points 189

Cette image montre effectivement que votre 8081 n'est pas utilisé. Si les suggestions ci-dessus n'ont pas aidé, et que votre appareil mobile est connecté à votre ordinateur via usb (et que vous avez Android 5.0 (Lollipop) ou plus), vous pouvez essayer :

$ adb reconnect

Ce n'est pas nécessaire dans la plupart des cas, mais juste au cas où, réinitialisons votre connexion avec votre mobile et redémarrons le serveur adb. Enfin :

$ adb reverse tcp:8081 tcp:8081

Ainsi, chaque fois que votre appareil mobile tente d'accéder à un port 8081 sur lui-même, il sera acheminé vers le port 8081 de votre PC.

Ou bien, on peut essayer

$ killall node

6voto

FortuneCookie Points 129

Prenez le terminal et tapez

fuser 8081/tcp

Vous obtiendrez un identifiant de processus qui utilise le port 8081. Maintenant, tuez le processus

kill <pid>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X