Als ik het commando react-native start
uitvoer, wordt Packager can't listen on port 8081
weergegeven.
Ik weet dat het probleem te maken heeft met software die mijn poort 8081 gebruikt.
Ik gebruik Resource Monitor om de poort te zien, maar ik kan 8081 niet vinden, er is geen 8081
Kan iemand me laten zien hoe ik het kan vinden?
Antwoord 1, autoriteit 100%
Voer op een Mac de volgende opdracht uit om de ID te vinden van het proces dat poort 8081
gebruikt
sudo lsof -i :8081
Voer vervolgens het volgende uit om het proces te beëindigen:
kill -9 23583
Antwoord 2, autoriteit 72%
Je kunt de packager op een andere poort draaien.
$ react-native start --port=8088
Ontdek met netstat wat welke poorten gebruikt in Windows.
$ netstat -a -b -o
Netstat geeft je een PID, die je kunt gebruiken om het proces te stoppen.
$ taskkill /pid 1234
Antwoord 3, autoriteit 20%
Deze fout komt omdat een proces al op 8081-poort draait. Stop dat proces en voer vervolgens uw opdracht uit, het zal uw code uitvoeren. Voor deze eerste lijst alle processen die deze poort gebruiken door
. te typen
lsof -i :8081
Deze opdracht zal de proces-ID (PID) van het proces weergeven en vervolgens het knooppuntproces beëindigen met
kill -9 <PID>
Hier is PID de proces-ID van het knooppuntproces.
Antwoord 4, autoriteit 12%
Die foto laat inderdaad zien dat je 8081 niet in gebruik is. Als bovenstaande suggesties niet hebben geholpen en je mobiele apparaat is via usb met je computer verbonden (en je hebt Android 5.0 (Lollipop) of hoger), kun je het volgende proberen:
$ adb reconnect
Dit is in de meeste gevallen niet nodig, maar laten we voor het geval uw verbinding met uw mobiel opnieuw instellen en de adb-server opnieuw opstarten. Tot slot:
$ adb reverse tcp:8081 tcp:8081
Dus wanneer uw mobiele apparaat toegang probeert te krijgen tot poort 8081 op zichzelf, wordt het doorgestuurd naar de 8081-poort op uw pc.
Of je zou het kunnen proberen
$ killall node
5
In mijn geval is Internet op Emulator naar beneden omdat er geen WiFi-signaal op de emulator is. Emulator opnieuw instellen heeft gewerkt.