web-dev-qa-db-fra.com

La configuration d'Expo LAN ne fonctionne pas pour le nouveau projet ReactNative

J'ai vu des questions similaires sur Stackoverflow mais aucun n'a résolu le problème. Je viens de créer un nouveau projet ReactNative à partir de l'application de bureau Expo. Mais je ne peux pas l'exécuter sur mon Android via le balayage de code QR lorsque la configuration d'Expo est définie sur le mode LAN. Ce qui ne semble pas accessible sur mon Android ( ressemble à.) Mon téléphone est sur le même réseau Wifi.

J'ai également essayé d'exécuter l'application de démonstration Expo en désactivant les pare-feu, mais toujours sans succès. Je suis sûr que votre seul aspect technique pourrait atténuer mon problème.

Remarque: le tunnel Expo était en panne, c'est pourquoi il s'est chargé en mode LAN. Il y a quelques jours, j'ai essayé le mode Tunnel qui fonctionne. Mais, à cette époque aussi, le LAN ne fonctionnait pas. Donc, n'importe qui peut me diriger dans la bonne direction, donc je peux l'exécuter en mode LAN (étant sur le téléphone et la machine sur le même réseau Wifi).

My IP Config

Expo Desktop App

Expo App when tries to load demo app after scanning QR code

Netstat command result for port 19000

9
Muhammad Hannan

Après avoir traversé l'application XDE Desktop, mais sans succès. J'ai finalement décidé d'essayer l'outil Expo CLI comme mentionné ici: https://expo.io/learn En quelques étapes simples, il a créé le premier projet de démonstration pour moi.

Et en suivant la commande CLI ici: https://docs.expo.io/versions/latest/guides/exp-cli.html Je suis maintenant en mesure d'exécuter ma première application de démonstration avec une commande simple, par exemple exp start --dev --lan, qui fait le même travail que l'application XDE (Expo Desktop) de configuration des paramètres sur le LAN et en mode développeur.

J'avais étudié toutes les solutions possibles, mais je n'ai pas travaillé pour configurer la connectivité LAN, à l'exception de l'outil Expo CLI. Quelqu'un confronté à des problèmes similaires? Veuillez essayer CLI. Mais assurez-vous de vérifier les paramètres de priorité de votre carte réseau (car la priorité de la carte réseau VMWare/VBox crée un problème). Tel que proposé par @mano.

6
Muhammad Hannan

Votre Android ne peut pas atteindre le serveur car le réseau de l'adaptateur virtuel est utilisé comme sous-réseau préféré.

Augmentez la priorité de l'adaptateur WiFi et cela devrait fonctionner correctement. (Décochez la métrique automatique dans les paramètres de l'adaptateur avancé et attribuez un numéro inférieur pour la métrique d'interface). Voir ce lien: https://answers.Microsoft.com/en-us/windows/forum/windows_10-networking/adapter-priority-setting-unavailable-in-windows-10/d2b63caa-e77c-4b46- 88b5-eeeaee00c306? Auth = 1

11
Mano

J'ai eu à peu près ce problème sur ma configuration Ubuntu/Crouton et le problème était que j'avais un pare-feu local bloquant le port.

Le correctif consistait à utiliser iptables pour ouvrir le port, comme ceci:

$ Sudo apt-get install iptables
$ Sudo /sbin/iptables -I INPUT -p tcp --dport 19000 -j ACCEPT

Plus d'informations ici: https://github.com/dnschneid/crouton/wiki/Running-servers-in-crouton

Je peux imaginer que des solutions similaires pourraient également être nécessaires sur d'autres plates-formes.

1
Rob Ennals

FWIW, pour moi, j'avais défini nodejs pour "autoriser les connexions via des réseaux privés uniquement", mais mon réseau wifi sur ma machine Windows n'était pas configuré comme privé. Je l'ai changé de public en privé, j'ai redémarré l'application, puis cela a bien fonctionné.

1
Tur1ng

Sous OS X, il s'est avéré que le pare-feu bloquait mon port 19000. Aller à

Paramètres> Sécurité et confidentialité

et désactiver pare-feu désactivé l'a résolu.

1
Kirill Kovalevskiy

Dans mon cas, j'avais un client de bureau Docker installé sur mon PC. Je viens de désinstaller Docker de mon PC et ça marche! Peut-être qu'il y avait un meilleur moyen que de désinstaller mais je n'avais pas besoin de Docker donc je l'ai désinstallé.

0
Sunny Sultan

Dans Windows 10, j'ai eu le même problème. J'ai fait ces tâches: 1 - Changer la priorité des interfaces réseau.

https://www.windowscentral.com/how-change-priority-order-network-adapters-windows-1

Avant: Image1 Après: Image2

Le mobile et l'ordinateur doivent être sur le même réseau (vérifiez le masque). Dans mon cas, Virtual Box a changé les priorités.

2 - J'ai d'abord désactivé le pare-feu et j'ai vérifié et vu que l'application fonctionnait, puis j'ai fait les ajustements corrects du pare-feu.

J'espère que cela vous aidera!

0
Rodrigo Zoff

J'ai eu le même problème. Vous devez désactiver le pare-feu public ou définir les paramètres entrants-sortants plus loin. J'espère que cela vous aidera!

0
Tai Lu

J'ai pu en quelque sorte identifier le problème. Il vous suffit de faire ipconfig/all (windows) ou ifconfig (unix) et de vérifier l'adresse IPV4 WIFI de l'adaptateur LAN sans fil et de remplacer l'hôte dans l'URL exp avec.

exp: //192.168.84.161: 19000 (Cette URL publiée au début de l'expo utilisait l'adresse IPV4 Ethernet au lieu de LanIPV4 sans fil 192.168.0.10)

Changer l'hôte et le frapper directement en safari ouvre une application expo et charge avec succès l'application react

J'espère que cela aidera tout le monde face à ce problème.

0
Varun tyagi