Wenn ich einen Befehl ausführe react-native start
, wird er angezeigt Packager can't listen on port 8081
.
Ich weiß, dass es um Software geht, die meinen Port 8081 verwendet.
Ich benutze Resource Monitor, um den Port zu sehen, aber ich kann 8081 nicht finden, es gibt keine 8081
Kann mir jemand zeigen, wie ich es finde?
react-native
Morton
quelle
quelle
Antworten:
Sie können den Packager an einem anderen Port ausführen.
Alternativ können Sie herausfinden, welche Ports unter Windows mit netstat verwendet werden.
Netstat gibt Ihnen eine PID, mit der Sie den Prozess abbrechen können.
quelle
Führen Sie auf einem Mac den folgenden Befehl aus, um die ID des Prozesses zu ermitteln, der den Port verwendet. Führen Sie dann den folgenden Befehl aus, um den Prozess
8081
sudo lsof -i :8081
zu beenden:
kill -9 23583
So wird es aussehen
quelle
Dieser Fehler tritt auf, weil bereits ein Prozess auf dem 8081-Port ausgeführt wird. Stoppen Sie diesen Prozess und führen Sie dann Ihren Befehl aus. Es wird Ihr Code ausgeführt. Für diese erste Liste alle Prozesse, die diesen Port verwenden, durch Eingabe
Dieser Befehl listet die Prozess-ID (PID) des Prozesses auf und beendet dann den Knotenprozess mithilfe von
Hier ist PID die Prozess-ID des Knotenprozesses.
quelle
Dieses Bild zeigt tatsächlich, dass Ihr 8081 nicht verwendet wird. Wenn die oben genannten Vorschläge nicht geholfen haben und Ihr Mobilgerät über USB mit Ihrem Computer verbunden ist (und Sie Android 5.0 (Lollipop) oder höher haben), können Sie Folgendes versuchen:
Dies ist in den meisten Fällen nicht erforderlich, aber nur für den Fall, lassen Sie uns Ihre Verbindung mit Ihrem Handy zurücksetzen und den ADB-Server neu starten. Schließlich:
Wenn Ihr mobiles Gerät versucht, auf einen Port 8081 selbst zuzugreifen, wird es an den 8081-Port Ihres PCs weitergeleitet.
Oder man könnte es versuchen
quelle
Mein Metro Bundler steckte fest und es wurden viele Knotenprozesse ausgeführt, aber ich hatte keine andere Entwicklung als reag-native, also lief ich:
Der Metro Bundler läuft standardmäßig über den Knoten auf Port 8081 und kann manchmal auf Probleme stoßen, bei denen er hängen bleibt (normalerweise durch schnelles Drücken von CTRL+ Smit eingeschaltetem Hot-Reload). Wenn Sie CTRL+ drücken C, um den
react-native run-android
Vorgang abzubrechen, haben Sie plötzlich eine schlechte Zeit, weil Siereact-native-run-android
nicht weiterkommen:Fix:
Hinweis: Wenn Sie gerade andere Apps entwickeln, kann das Beenden aller Knotenprozesse diese oder alle von Ihnen ausgeführten knotenbasierten Dienste unterbrechen. Denken Sie also an die umfassende Natur von
killall -9
. Wenn Sie keine knotenbasierte Datenbank oder App ausführen oder es Ihnen nichts ausmacht, sie manuell neu zu starten, sollten Sie bereit sein.Der Grund, warum ich diese detaillierte Antwort auf diese halb unabhängige Frage hinterlasse, ist, dass meine eine Lösung für ein häufiges halb verwandtes Problem ist, für dessen Behebung leider zwei Schritte erforderlich sind, zum Glück jedoch nur zwei Schritte erforderlich sind, um wieder an die Arbeit zu gehen.
Wenn Sie den Metro Bundler-Müll an Port 8081 chirurgisch entfernen möchten, führen Sie die folgenden Schritte in der Antwort von RC_02 aus :
(wobei 23583 die Prozess-ID ist)
quelle
Nimm das Terminal und tippe
Sie erhalten eine Prozess-ID, die Port 8081 verwendet. Beenden Sie nun den Prozess
quelle
Sie sollten alle Prozesse beenden, die auf Port 8081 ausgeführt werden
kill -9 $(lsof -i:8081)
quelle
Überprüfen Sie, ob auf Ihrem Computer bereits ein Knotenserver ausgeführt wird, und schließen Sie ihn.
quelle
Versuchen Sie, in einem anderen Port wie 3131 auszuführen. Führen Sie den folgenden Befehl aus:
quelle
Dies kann daran liegen, dass McAfee diesen Port verwendet. Wenn Sie einfach
lsof -i 8081
vorgehen, wird die Anwendung möglicherweise nicht angezeigt, und Sie müssen sie möglicherweise sudo.Tun
sudo lsof -i 8081
und wenn dieser Befehl eine Ausgabe liefert, können Sie ihn mit beendensudo launchctl remove com.mcafee.agent.macmn
. Starten Sie danach den Packager erneut.quelle
In meinem Fall ist das Internet am Emulator ausgefallen, da am Emulator kein WLAN-Signal vorhanden ist. Das Zurücksetzen des Emulators hat funktioniert.
quelle
Um dieses Problem zu beheben, habe ich den folgenden Prozess ausgeführt.
Bitte brechen Sie den aktuellen Prozess von "React-Native Run-Android" mit STRG + C oder CMD + C ab
Schließen Sie die Befehlszeile des Metro Bundler (Terminal) -Fensters, die automatisch geöffnet wird.
Führen Sie den Befehl erneut auf dem Terminal „React-Native Run-Android
quelle
Gehen Sie zunächst in Ihrem Gerät zu Dev. Option -> ADB über Netzwerk danach:
(oder übrigens Run-Ios)
Wenn dies erfolgreich war, hat Ihr Gerät app-debug.apk installiert, öffnen Sie app-debug und gehen Sie zu Dev. Einstellungen -> Server-Host und -Port für Gerät debuggen , geben Sie die IP-Adresse Ihres Computers ein (im Allgemeinen Systemeinstellung -> Netzwerk ), wie im folgenden Beispiel < IP-Adresse Ihres Computers > : 8081 (ohne Ungleichung)
Führen Sie abschließend den folgenden Befehl aus
Versuchen Sie es mit einem anderen Port, und stellen Sie sicher, dass sich Ihr Computer und Ihr Gerät im selben Netzwerk befinden.
quelle