wake-up-neo.com

Fehler bei der Netzwerkantwortzeit (create -rea-native-app) (expo)

Ich versuche, die Create-React-native-App auf der Expo-App in Android auszuführen.

Erstens habe ich das Projekt durch Schreiben des Befehls erstellt

create-React-native-App-Test

dann habe ich ausgeführt

npm starten

scannte dann den qr-Code aus der expo-app.

Nach dem Scannen des QR-Codes erhalte ich folgenden Fehler:

Uncaught Error: Java.net,sockettimeoutException: failed to connect to after 10000ms

 enter image description here

Github Ausgabe: 

https://github.com/react-community/create-react-native-app/issues/144#issuecomment-296631692

29
YaSh Chaudhary

Dies liegt daran, dass der Port Ihres Computers nicht geöffnet ist.

In Ubuntu Run In Terminal

Sudo ufw status verbose Um den offenen Port anzuzeigen, müssen Sie den Port mit öffnen, wenn Sie 19000 Port Open nicht finden

Sudo ufw allow 19000/tcp

und dann nochmal rennen

Sudo ufw allow 19001/tcp

um http für die native Reaktion zu dienen, löse ich dieses Problem in meinem Ubuntu mit dieser Methode. Ich hoffe, dies wird dir helfen.

So öffnen Sie einen Port in der Windows-Firewall für den Zugriff auf TCP) Klicken Sie im Menü Start auf Run, und geben Sie Folgendes ein: - WF.msc, und klicken Sie dann auf OK.

Klicken Sie in der Windows-Firewall mit erweiterter Sicherheit im linker Bereich mit der rechten Maustaste auf eingehende Regeln, und klicken Sie dann auf New Rule im Aktionsbereich.

Wählen Sie im Dialogfeld RegeltypPort aus, und klicken Sie dann auf Weiter.

Wählen Sie im Dialogfeld Protokoll und Ports die Option TCP . Wählen Sie Bestimmte lokale Ports und geben Sie dann die Portnummer der Instanz des React Port, z. B. 190 für die Standardinstanz. Klicken Sie auf Weiter.

Wählen Sie im Dialogfeld AktionVerbindung zulassen aus, und klicken Sie dann auf Weiter.

Wählen Sie im Dialogfeld Profil alle Profile aus, die die Computerverbindungsumgebung beschreiben, wenn Sie eine Verbindung zum Datenbankmodul herstellen möchten, und klicken Sie dann auf Weiter.

Geben Sie im Dialogfeld Name einen Namen und eine Beschreibung für diese Regel ein und dann klicken Sie auf Fertig stellen.

Ebenso können Sie port 19001 auch öffnen.

43
manoj

In meinem Fall haben die Firewall-Einstellungen alleine dies nicht getan. Mein Problem war, dass VirtualBox-Netzwerkgeräte Priorität hatten und der Expo-Host auf einem falschen Netzwerk gestartet wurde.

Unter Windows können Sie ipconfig ausführen und Ihre Netzwerkadapter anzeigen. npmyarn start scheint das zu übernehmen, was zuerst in dieser Liste angezeigt wird.

Ich habe dies hier erfahren: https://github.com/react-community/create-react-native-app/issues/60

Wenn Sie die anderen Netzwerkadapter nicht in der Liste benötigen, können Sie sie in der Netzwerkverbindungsoberfläche der Systemsteuerung deaktivieren.

Wenn Sie diese Verbindungen verwenden müssen, müssen _/und Expo-Arbeit haben, um das Problem zu lösen, dem ich folgte diesen Prozess :

  1. Gehen Sie zu Systemsteuerung> Netzwerk und Internet> Netzwerkverbindungen
  2. Klicken Sie mit der rechten Maustaste auf die gewünschte Verbindung (Verbindung mit höherer Priorität).
  3. Klicken Sie auf Eigenschaften> Internetprotokoll Version 4
  4. Klicken Sie auf Eigenschaften> Erweitert
  5. Deaktivieren Sie "Automatische Metrik".
  6. Geben Sie 10 in 'Interface Metric' ein.
  7. OK klicken

Wiederholen Sie den Vorgang für die Verbindung mit niedrigerer Priorität, setzen Sie jedoch dieses Mal 20 in die "Schnittstellenmetrik".

Sie verwenden jetzt die Verbindung mit höherer Priorität als Standard.

40
IronSean

Sie können dies umgehen, indem Sie die IP-Adresse Ihres Laptops auf eine statische IP-Adresse festlegen, beispielsweise 192.168.1.69. Anschließend müssen Sie die reaktive Packager-IP-Adresse in dieselbe IP-Adresse wie Ihr Laptop ändern 

set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Windows)
REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Mac & Linux)

starten Sie Ihr Projekt erneut und Sie können loslegen.

20
Youcef Chihi

 enter image description here

Deaktivieren Sie zunächst die nicht verwendete Netzwerkverbindung. In meinem Fall war es VirtualBox. Vielleicht benutzt es den gleichen Port. Ich bin mir darüber nicht sicher. Starten Sie nach dem Deaktivieren der nicht verwendeten Verbindungen den Packager erneut. Wenn Sie npm verwendet haben, geben Sie bitte ein 

npm start
5
  • IPv4-Adresse gefunden
  • Öffnen Sie die Expo-App und tippen Sie dann auf, um die Schaltfläche von unten zu erkunden 
  • schreibe exp: // [ipv4adress]: 19000 in die Suchleiste 
  • Dann öffnet sich Ihre App
3
asynk1

Ich schlage vor, Sie installieren eine Expo-Anwendung für native React. Link zu offiziellen Leitfaden hier

npm install -g exp

Anschließend können Sie die Genymotion-Software verwenden, um verschiedene Umgebungseinstellungen für Ihre App zu emulieren und auszuführen:

exp start

Wenn Sie im Terminal "npm start" mit native reagieren, ist folgendes für Sie. Ich fand heraus, dass die IpV-Adressen meines Computers, wenn meine Anwendung erfolgreich ausgeführt wird, die im Terminal angezeigt werden und die sich auf der Expo-App befinden, beispielsweise identisch sind:

ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.124
exp://10.0.0.124:19000

Basierend auf dieser Beobachtung habe ich dieses Problem folgendermaßen gelöst:

  1. Schließen Sie npm Prompt-Skript, auf dem die App ausgeführt wird
  2. Expo-App schließen
  3. Finden Sie Ihre IP, indem Sie den Befehl im Terminal ausführen:

    ipconfig
    
  4. Führen Sie den Befehl in der NodeJS-Eingabeaufforderung mit Ihrer IP aus (zum Beispiel 10.0.0.124).

    set REACT_NATIVE_PACKAGER_HOSTNAME=10.0.0.124
    
  5. Expo-App starten, Barcode scannen

    npm start
    

    Wenn dies nicht hilft, führen Sie die nächsten Schritte aus, die von React-Entwicklern empfohlen werden, zusätzlich zu anderen sinnvollen Anstrengungen:

  6. Installieren Sie Genymotion mit VirtualBox
  7. Melden Sie sich bei Genymotion an
  8. Starten Sie die Genymotion-Software und !!! SignIn
3
Roman

Ich hatte alles, was im Kontext erwähnt wurde, getan. Nur mein verbundenes WLAN-Netzwerk wurde von öffentlich zu privat geändert

2
Raj

in Windows

  1. führen Sie die ipconfig in der Eingabeaufforderung aus

  2. holen Sie sich die IP4-Adresse und kopieren Sie sie.

Dann gehe zu 

  1. Dieser PC> Eigenschaften> Erweiterte Systemeinstellungen> Umgebungsvariablen
  2. fügen Sie die folgende Systemvariable hinzu: REACT_NATIVE_PACKAGER_HOSTNAME
  3. Als Wert für die Variable musste ich die ip4 einfügen.

dann den npm start.__ ausführen 

2
Ragulan28

Wenn Sie git bash für die Entwicklung verwenden, hilft diese Lösung von Icruz4

Anstatt 

set REACT_NATIVE_PACKAGER_HOSTNAME

Benutzen:

export REACT_NATIVE_PACKAGER_HOSTNAME='192.168.1.123'

Hinweis:

Wenn du rennst

npm start

Expo informiert Sie in der Ausgabe über die verwendete IP-Adresse. Wenn diese IP nicht die IP ist, die Sie wollen, dann die 

REACT_NATIVE_PACKAGER_HOSTNAME 

umgebungsvariable ist nicht richtig gesetzt

2
Hargun Singh

Wenn Sie alles versucht haben, was die anderen Antworten vorschlagen, und es immer noch nicht funktioniert, überprüfen Sie bitte auch, ob Ihr Computer und Ihr Telefon mit demselben WIFI-Netzwerk verbunden sind. Für mich hat das eine Stunde gekostet.

1
Shaswat Rungta

Ich habe meinen ganzen Tag damit verbracht, nach Antworten zu suchen, und schließlich habe ich versehentlich eine Lösung erhalten. Ändern Sie einfach die Verbindung von LAN zu Tunnel

Unten ist das Bild,

enter image description here

1
ashish pandey

Ich hatte das gleiche Problem. Das Problem ist, dass der Befehl garne start oder npm start den ersten aktivierten Netzwerkadapter findet, den er findet, der zufällig der Adapter für VirtualBox auf meiner (und vielen anderen Maschinen) ist. Die Lösung ist entweder

setzen Sie die Umgebungsvariable REACT_NATIVE_PACKAGER_HOSTNAME manuell fest, oder deaktivieren Sie den nicht verwendeten Netzwerkadapter in der Windows-Netzwerkverbindung (siehe Abbildung) .__ Das Problem ist, dass Expo den ersten Netzwerkadapter und nicht den aktiven Netzwerkadapter findet, der die Internetverbindung bereitstellt.

 enter image description here

Falls noch jemand nach der Antwort sucht. Machen Sie zunächst das Grundlegende: Deaktivieren Sie zunächst den VirtualBox Host-Only Network, indem Sie Ihre Netzwerkkonfigurationen öffnen. Das hat bei mir funktioniert.

1
Nouman Ghaffar

In meinem Fall trat dieses Problem auf, weil die Expo Android-App "über andere Apps"/Erlaubnis ziehen muss -/und ich habe es nicht gegeben. Also gebe ich diese Erlaubnis zur Expo-App und das Problem wurde gelöst. 

1
Moein Fazeli

Dieses Problem kann möglicherweise gelöst werden durch:

Setzen Sie Ihre Umgebungsvariable mit alternativen Anweisungen hier

Oder

Zuweisung der Schnittstellenmatrixpriorität für Ihre Netzwerkadapter mit detaillierten Anweisungen hier oder hier .

Oder 

Ein Ubuntu-Rechner kann einen Port nicht öffnen

Nachdem Sie Änderungen vorgenommen haben, starten Sie den Computer neu, bevor Sie testen, ob er funktioniert.

Viel Glück!

1
psyanite

Eine der einfachsten und zu 100% funktionierenden Lösungen ist:

  1. Aktivieren Sie den Mobile Hotspot Ihres Entwicklungscomputers (PC oder Desktop) und verbinden Sie Ihr Android-Gerät mit diesem Hotspot.
  2. Gehen Sie zu Systemsteuerung> Netzwerk und Internet> Netzwerkverbindungen Sie werden hier wie gezeigt landen: Netzwerkverbindungseinstellung
  3. Stellen Sie dann die IP-Adresse der LAN-Verbindung (Your DESKTOP HOTSPOT) auf eine gewünschte ein, sagen Sie: 192.168.1.69, indem Sie mit der rechten Maustaste auf die betroffene Verbindung und dann auf Eigenschaften -> Internetprotokollversion 4(TCP/IPv4) -> Eigenschaften. Setzen Sie dann die Priorität dieser Verbindung auf die höchste und dies wird am besten beschrieben hier
  4. Öffnen Sie dann ein Befehlsterminal und führen Sie Folgendes aus:

    set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Windows)
    REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Mac & Linux)
    
  5. Starten Sie anschließend Ihren Exposerver neu, indem Sie npm start in Ihrem Expo-Projektordner ausführen, und führen Sie die App auf Ihrem Android-Gerät aus, indem Sie den generierten QR-Code mit der Expo-App scannen.

Ich habe viele Lösungen ausprobiert, nur auf diese Weise konnte ich dieses Problem lösen:

Unter Windows:

  • gehen Sie zu "Netzwerk und Verbindungen" in der Systemsteuerung von Windows (Netzwerk- und Freigabecenter> Adaptereinstellungen ändern).
  • Deaktivieren Sie alle virtuellen Boxen, die Sie hier sehen können
  • Starten Sie npm oder Garn oder Expo ...
0
Ali Tavana
  1. Auf Ihrem Gerät: Melden Sie sich bei Ihrer Expo-App an und erstellen Sie ein Konto, falls Sie noch keines haben.
  2. In Ihrem System: Öffnen Sie das Terminal mit dem Befehl cd in Ihr Projektverzeichnis, und geben Sie dann Sudo exp start
  3. Sie erhalten dann den zu scannenden QR-Code.
0
Suraj Vaishnav

Sie müssen nur den Port in der Windows-Firewall öffnen und alles sollte funktionieren.

1. Klicken Sie im Startmenü auf Ausführen, geben Sie WF.msc ein und klicken Sie auf OK.

Klicken Sie in der Windows-Firewall mit erweiterter Sicherheit im linken Bereich mit der rechten Maustaste auf Eingehende Regeln, und klicken Sie dann im Aktionsbereich auf Neue Regel.

Wählen Sie im Dialogfeld Regeltyp die Option Port aus, und klicken Sie dann auf Weiter.

Wählen Sie im Dialogfeld Protokoll und Ports die Option TCP aus. Wählen Sie Bestimmte lokale Ports aus, und geben Sie die Portnummer der Instanz des React-Ports ein, z. B. 19000 für die Standardinstanz. Weiter klicken.

Wählen Sie im Dialogfeld Aktion die Option Verbindung zulassen aus, und klicken Sie dann auf Weiter.

Wählen Sie im Dialogfeld Profil alle Profile aus, in denen die Verbindung der Computerverbindung beschrieben wird, wenn Sie eine Verbindung zum Database Engine (Datenbankmodul) herstellen möchten, und klicken Sie dann auf Weiter.

Geben Sie im Dialogfeld Name einen Namen und eine Beschreibung für diese Regel ein, und klicken Sie dann auf Fertig stellen.

Ebenso können Sie Port 19001 öffnen.

0
user3109814

In Windows 

set REACT_NATIVE_PACKAGER_HOSTNAME=my-ip-address

arbeitete in meinem Git Bash Terminal, aber nicht cmd. In git bash, nachdem ich npm start ausgeführt hatte, bekam ich ein Firewall-Popup, das ich angeklickt hatte und es funktionierte!

0