react-native - móvil - react native tutorial español windows
Error de tiempo de espera de respuesta de la red(crear-reaccionar-nativo-aplicación)(expo) (15)
- En su dispositivo: inicie sesión en su aplicación expo, cree una cuenta si no tiene ninguna.
- En su sistema: abra el terminal vaya a su directorio de proyectos mediante el comando cd y luego escriba
sudo exp start
le pedirá los detalles de inicio de sesión de su cuenta expo una vez que haya terminado con esto. - Te dará código qr para escanear.
Estoy tratando de ejecutar create-react-native-app en la aplicación expo en Android.
En primer lugar, creé el proyecto escribiendo comando.
prueba de creación de aplicaciones nativas
entonces ejecuté
npm start
luego escaneó el código qr de la aplicación expo.
Pero después de escanear el código QR, recibo el siguiente error:
Uncaught Error: Java.net,sockettimeoutException: failed to connect to after 10000ms
Problema de Github:
https://github.com/react-community/create-react-native-app/issues/144#issuecomment-296631692
En Windows,
set REACT_NATIVE_PACKAGER_HOSTNAME=my-ip-address
Trabajé dentro de mi terminal git bash, pero no cmd. En git bash, después de que ejecuté npm start, recibí una ventana emergente de firewall, en la que hice clic en Permitir y ¡funcionó!
En mi caso, la configuración del firewall solo no lo hizo. Mi problema era que los dispositivos de red de VirtualBox estaban tomando prioridad y el host de Expo estaba comenzando en la red incorrecta.
En Windows puede ejecutar ipconfig
y mirar los adaptadores de red que tiene. npm
yarn start
npm
/ yarn start
parece tomar lo que aparezca primero en esa lista.
Me enteré de esto desde aquí: https://github.com/react-community/create-react-native-app/issues/60
Si no necesita los otros adaptadores de red en la lista, puede deshabilitarlos en la interfaz de Conexiones de red del Panel de control.
Si necesita usar esas conexiones y hacer que Expo funcione, para resolver el problema, seguí este proceso :
- Ir a Panel de control> Redes e Internet> Conexiones de red
- Haga clic derecho en la conexión deseada (Conexión de mayor prioridad)
- Haga clic en Propiedades> Protocolo de Internet versión 4.
- Haga clic en Propiedades> Avanzadas
- Desmarque ''Métrica automática''
- Introduzca 10 en ''Métrica de la interfaz''
- Haga clic en Aceptar
Repita para la conexión de prioridad más baja, pero esta vez ponga 20 en la ''Métrica de la interfaz''
Ahora utilizará la conexión de mayor prioridad como predeterminada.
Este problema podría ser resuelto por:
Configuración de su variable de entorno con instrucciones alternativas github.com/react-community/create-react-native-app/issues/…
O
Asignar prioridad de matriz de interfaz para sus adaptadores de red con instrucciones detalladas github.com/react-community/create-react-native-app/issues/… o aquí .
O
Una máquina de Ubuntu no puede abrir un puerto
Después de realizar cualquier cambio, reinicie la computadora antes de probar si funciona.
¡Buena suerte!
Esto se debe a que no se abre el puerto desde su máquina.
En Ubuntu Run In Terminal
sudo ufw status verbose
Para ver el puerto abierto, si no puede encontrar el puerto 19000 abierto, debe abrir el puerto usando
sudo ufw allow 19000/tcp
y luego correr de nuevo
sudo ufw allow 19001/tcp
para servir http para reaccionar de forma nativa, resuelvo este problema en mi ubuntu utilizando este método. Espero que esto ayude.
Para abrir un puerto en el firewall de Windows para el acceso TCP En el menú Inicio , haga clic en Run
, escriba WF.msc
y luego haga OK
en OK
.
En el Firewall de Windows con seguridad avanzada , en el panel izquierdo , haga clic con el botón derecho en Reglas de entrada y, a continuación, haga clic en New Rule
en el panel de acción.
En el cuadro de diálogo Tipo de regla , seleccione Puerto y, a continuación, haga clic en Siguiente .
En el cuadro de diálogo Protocolo y puertos , seleccione TCP . Seleccione Puertos locales específicos y luego escriba el número de puerto de la instancia del puerto React, como 19000 para la instancia predeterminada. Haga clic en siguiente .
En el cuadro de diálogo Acción , seleccione Permitir la conexión y luego haga clic en Siguiente .
En el cuadro de diálogo Perfil , seleccione cualquier perfil que describa el entorno de conexión de la computadora cuando desee conectarse al Motor de base de datos y luego haga clic en Siguiente .
En el cuadro de diálogo Nombre , escriba un nombre y una descripción para esta regla y luego haga clic en Finalizar .
Del mismo modo puede abrir el puerto 19001 también.
He tenido el mismo problema. El problema es que el comando yarn start o npm start encuentra el primer adaptador de red habilitado que encuentra, que resulta ser el adaptador para VirtualBox en mi (y muchas otras máquinas). La solución es:
configure manualmente la variable de entorno REACT_NATIVE_PACKAGER_HOSTNAME, o deshabilite el adaptador de red no utilizado en la Conexión de red de Windows (ver imagen) El problema es que Expo encuentra el primer adaptador de red, y no el adaptador de red activo que proporciona la conexión a Internet.
Le sugiero que instale la aplicación expo para reaccionar de forma nativa, enlace a la guía oficial aquí
npm install -g exp
Luego, puede usar el software Genymotion para emular una configuración de entorno diferente para su aplicación y ejecutar:
exp start
Si usas en el terminal "npm start" con nativo reaccionar, lo siguiente es para ti. Descubrí que si mi aplicación ejecuta con éxito las direcciones IpV de mi computadora, que se muestran en el terminal y que están en la aplicación Expo son idénticas, por ejemplo:
ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.124
exp://10.0.0.124:19000
Basándome en esta observación, resolví este problema de la siguiente manera:
- Cierre la secuencia de comandos de npm que ejecuta la aplicación
- Cerrar la aplicación Expo
Encuentra tu IP ejecutando el comando en el terminal:
ipconfig
Ejecute el comando en el símbolo del sistema de NodeJS con su IP (por ejemplo, 10.0.0.124)
set REACT_NATIVE_PACKAGER_HOSTNAME=10.0.0.124
Iniciar la aplicación Expo, escanear código de barras
npm start
Si no funciona, utilice los siguientes pasos recomendados por los desarrolladores de React además de otros esfuerzos razonables:
- Instalar Genymotion con VirtualBox
- Registrarse en el sitio de Genymotion
- Ejecuta el software Genymotion y !!! SignIn
Probé muchas soluciones, solo así me ayudó a resolver este problema:
En Windows:
- Vaya a "Red y conexiones" en el Panel de control de Windows (Centro de redes y recursos compartidos> Cambiar configuración del adaptador)
- Desactiva todas las casillas virtuales que puedes ver aquí.
- Reinicie npm o hilo o expo ...
Puede solucionar eso fijando la dirección IP de su computadora portátil a una dirección IP estática, digamos 192.168.1.69, luego necesita cambiar la dirección IP del empaquetador nativo de reacción al mismo de su computadora portátil, usando
set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Windows)
REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.69 (Mac & Linux)
Comience su proyecto de nuevo y ya está listo.
Si está utilizando git bash para el desarrollo, esta solución de Icruz4 le ayudará
En lugar de
set REACT_NATIVE_PACKAGER_HOSTNAME
Utilizar:
export REACT_NATIVE_PACKAGER_HOSTNAME=''192.168.1.123''
Nota:
Cuando corres
npm start
Expo te dice en la salida la IP que está usando. Si esa IP no es la IP que desea, entonces la
REACT_NATIVE_PACKAGER_HOSTNAME
la variable de entorno no está configurada correctamente
Solo necesita abrir el puerto en el Firewall de Windows y todo debería funcionar.
1.En el menú Inicio, haga clic en Ejecutar, escriba WF.msc y luego haga clic en Aceptar.
En el Firewall de Windows con seguridad avanzada, en el panel izquierdo, haga clic con el botón derecho en Reglas de entrada y, a continuación, haga clic en Nueva regla en el panel de acción.
En el cuadro de diálogo Tipo de regla, seleccione Puerto y, a continuación, haga clic en Siguiente.
En el cuadro de diálogo Protocolo y puertos, seleccione TCP. Seleccione Puertos locales específicos y luego escriba el número de puerto de la instancia del puerto React, como 19000 para la instancia predeterminada. Haga clic en Siguiente.
En el cuadro de diálogo Acción, seleccione Permitir la conexión y luego haga clic en Siguiente.
En el cuadro de diálogo Perfil, seleccione cualquier perfil que describa el entorno de conexión de la computadora cuando desee conectarse al Motor de base de datos y luego haga clic en Siguiente.
En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla y luego haga clic en Finalizar.
Del mismo modo puede abrir el puerto 19001 también.
Yo había hecho todo lo mencionado en contexto. Acabo de cambiar mi red WiFi conectada de público a privado. Esto funciono para mi
en Windows
ejecuta el
ipconfig
en el símbolo del sistemaobtener la dirección ip4 y copiarlo.
Que ir a
- Esta PC> propiedades> configuraciones avanzadas del sistema> variables de entorno
- agregue la siguiente variable del sistema:
REACT_NATIVE_PACKAGER_HOSTNAME
- Como valor de la variable tuve que pegar el ip4.
a continuación, ejecute el npm start
Es un trabajo para mí
- Se encontró la dirección ipv4
- Abra la aplicación expo y luego toque para explorar el botón de abajo.
- escriba exp: // [ipv4adress]: 19000 en la barra de búsqueda
- Entonces su aplicación se abrirá