Cuando ejecuto un proyecto nativo de reacción, aparece un error no bundle URL present
, pero no sé qué errores cometo, estaba muy confundido.
ios
reactjs
react-native
Yingch Xue
fuente
fuente
rm -rf ios/build/
watchman watch-del-all
Respuestas:
Resuelve el error
No bundle URL present
de la siguiente manera:rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc; source ~/.bashrc
Ahora puede ejecutar la compilación React Native iOS (sin preocuparse de que aparezcan algunas de las pantallas de error rojas comunes de muerte) con un simple acceso directo de alias:
rni
fuente
También me encontré con este problema (la primera vez que comencé con React Native). El problema desapareció cuando, mientras
react-native run-ios
se ejecutaba una simulación ios ( ), ejecuténpm install
y luegoreact-native run-ios
otra vez. En la ventana de terminal, mostró que se estaba agrupando, y luego el simulador mostró la pantalla de bienvenida.Verifique este enlace para ver breves después de la
react-native init PropertyFinder
línea que intente usarnpm start
(este funciona para mí)================================================== ======================
ACTUALIZACIÓN para 16.9
Mi puerto 8081 fue bloqueado por McAfee. Usar un puerto diferente directamente no funcionaba
react-native start --port=8082
yreact-native run-ios --port=8082
Intenté casi todas las soluciones dadas aquí. Pero nada funcionó.
Solución:
Busqué 8081 en Xcode y los reemplazó por 8082. Luego ejecute los mismos comandos para compilar y ejecutar la aplicación. La aplicación funciona sin problemas
fuente
Tuve el mismo problema cuando incluí mi aplicación. Verifique que
main.jsbundle
esté dirigido a su proyecto principalfuente
Como se indica en el mensaje de error:
Ejecutar el siguiente comando funcionó:
fuente
Este problema ocurre cuando no permite conexiones no seguras a través de localhost, o tal vez intenta aceptar conexiones no seguras a través de http.
Para solucionar esto, agregue esto en
info.plist
:fuente
localhost
a mi dirección de red local en Info.plist y, por lo tanto, no se resolvió. Agregué un bloque para 'localhost' como dominio de excepción y funcionó.Cierra tu simulador y la terminal. Abra uno nuevo y vaya a su proyecto, luego actualice su react-native de esta manera:
Problema en: recursión infinita en RCTFatal cuando el paquete no se ejecuta .
fuente
Razón:
Esto se debe a que la aplicación no puede encontrar el servidor (que sirve la interfaz de usuario, por código javascript).
Solución:
npm run start
oyarn start
primeroLoading dependency graph, done.
)react-native run-ios/android
Explicación:
React Native viene con 2 partes:
Comandos de compilación:
react-native run-ios/android
es construir una parte nativa y luego implementarla en dispositivos e iniciar la aplicación en dispositivos (simulador / emulador / dispositivo real). Esto usualmente tomó 3 ~ 4 minutos para terminar.npm run start
oyarn start
es construir la parte de JavaScript e iniciar el servidor de desarrollo para servir la interfaz de usuario integrada a la aplicación. Esto usualmente tardó 30 segundos en terminar.=> Normalmente, la parte de JavaScript terminó primero y luego la parte nativa vino después. (según el tiempo que usaban).
=> esto solo es cierto por primera vez build (nueva compilación).
=> para reconstruir:
La parte nativa solo tardó entre 10 y 15 segundos en verificar los cambios y porque no se realizó ningún cambio para la parte nativa => antes de que se construyera y sirviera la parte de JavaScript. (No estoy seguro de que la parte de JavaScript se haya reconstruido o no, pero tomó mucho tiempo que la parte nativa)
Por eso tuvimos este problema, la aplicación se ejecutó y requería algo que aún no existía.
Prima:
react-native run-ios/android
iniciará automáticamente el servidor de desarrollo por usted.react-native run-ios/android
justo despuésreact-native init <app_name>
, todo salió bien. (porque la función de inicio automático y el tiempo se tomaron para una compilación nueva como el estado anterior).El tiempo utilizado en esta respuesta fue relativo a mi máquina => puede ser diferente en otros.
fuente
Intenta ejecutar este código:
$ sudo xcodebuild -license
Esto puede solucionar el problema. Esto funciona para mi.
fuente
Tuve el mismo error y pude ejecutar la aplicación solo a través de Xcode.
react-native run-ios
no funcionó. Para resolver el problema, debe eliminar labuild
carpeta enYOUR_PROJECT/ios/build/
. Después de esto, debería poder ejecutar su aplicaciónreact-native run-ios
nuevamente. Espero que esto ayude.fuente
En la mayoría de los casos, este problema ocurre cuando la búsqueda de DNS / IP no puede encontrar localhost.
Solución:
Intente agregar la IP localhost a su archivo de host, etc.
puede agregar las siguientes líneas a su archivo de host, etc. (/ etc / hosts)
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 l. Ocalhost
Para confirmar que este es el problema , puede presionar la URL del paquete en Safari (si lo prueba en Chrome, esto se resolverá, pero Safari no podrá resolverlo). http: // localhost: 8081 / index.ios.bundle? platform = ios & dev = true & minify = false
fuente
Asegúrese de que su configuración ATS sea correcta en el archivo .plist.
Puedes encontrar el archivo en /ios/{{project_name}}/Info.plist
localhost debe definirse como un objetivo de solicitud de excepción como este:
* (no olvide eliminar esto en la versión de lanzamiento ..)
fuente
Para mí, el problema era que no podía crear el paquete JS. No indica el error al construir desde Xcode, por lo que no hay forma de que lo sepas. Para encontrar el error, ejecute el siguiente comando.
react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
Para mí, el error fue algo con falta del componente PureRenderMixin. Para lo cual puede encontrar la solución aquí: https://github.com/facebook/react-native/issues/13078 . Básicamente, debe instalar manualmente [email protected]. Esto se puede hacer mediante la ejecución de este comando.
npm i --save [email protected]
Este problema ahora está sucediendo para todos porque se están lanzando versiones más nuevas de react alphas (particularmente alpha.5) y están rompiendo las compilaciones react-native.
fuente
"plugins": ["transform-decorators-legacy"]
a su archivo .babelrc. O pruébelo con el HOC de conexión.The node type SpreadProperty has been renamed to SpreadElement
y su@babel
biblioteca de referencia dentronode_modules
, no he encontrado nada que haya abordado esto.Solución ->
npm start
luego abra una nueva Terminal y vaya a la ruta de su proyecto y luego presionereact-native run-ios
, funciona para mífuente
Lo que me resolvió:
cd
dentroYOUR_PROJECT/ios
rm -r build
react-native run-ios
nuevoAlternativamente, puede abrir Finder, navegar
YOUR_PROJECT/ios
y eliminar labuild
carpeta.Luego corre de
react-native run-ios
nuevo.Fuente: Andrew Bancroft
fuente
Este es un problema con react-native v0.42.1. Intente cerrar todas las instancias de terminal y XCode y ejecute:
fuente
primero cierre el simulador, luego ejecútelos en la terminal
fuente
Solo corre en la Terminal
react-native start
:Se iniciará el empaquetador, ahora no cierre esta ventana de terminal, en otra ventana de terminal ejecute su proyecto. Este es el único deseo que encontré para que funcione correctamente.
fuente
He encontrado que la forma más fácil / rápida de evitar esto es salir de la aplicación dentro del simulador (2 x
Cmd + Shift + H
) y volver a iniciarla.fuente
Tuve el mismo problema. Pero mi problema era que mi Mac y mi iPhone no estaban en la misma red wifi.
Así que asegúrese de que todos estén en la misma red y reconstruya nuevamente. Si este no es el caso, pruebe las soluciones mencionadas por otros miembros aquí.
fuente
verifique su proxy de red, mejor apáguelo.
o deberías encontrar otra forma de mantener el servidor del empaquetador
fuente
También me ha sucedido después de reiniciar mi mac. Hay una ventana de terminal launchPackager que se abre cuando ejecuta su aplicación en el simulador. Cerré esa ventana y terminé el proceso (también oculté el simulador), luego ejecuté nuevamente react-native run-ios y todo funciona bien.
fuente
En mi caso, el problema se solucionó reiniciando el
adb
servidor:adb kill-server && adb start-server
fuente
También tuve este problema para mí ... el problema era que el empaquetador no se estaba ejecutando, probablemente porque mi shell predeterminado era zsh. reacciona a los neumáticos nativos para abrir una nueva ventana de terminal y ejecutar
.../node_modules/react-native/packager/launchPackager.command
pero esto no funcionó Ejecutarlo manualmente (y mantenerlo en funcionamiento) me solucionó esto.fuente
verifique su clave 'localhost' en NSExceptionDomains dict en info.plist
Si no existe, causa un error.
fuente
Suponiendo que está utilizando
nvm
y que hay varias versiones de nodo instaladas, esta es la solución:npm install -g react-native-cli
ennode v6.9.5
.node v6.9.5
como predeterminado ejecutandonvm alias default 6.9.5
react-native run-ios
El problema es que tiene varias versiones de nodo instaladas a través de
nvm
y para instalarreact-native-cli
ha cambiado o instalado la última versión del nodo, que aún no está marcado como nodo predeterminado para señalarnvm
. Cuando ejecutareact-native run-ios
esto, se abre otra nueva ventana de terminal en la que el valor predeterminadonvm
no apunta a la versión del nodo donde ha instaladoreact-native-cli
. Simplemente siga la configuración anterior, espero que eso ayude.fuente
asegúrese de tener .jsbundle en su proyecto
Añadir
en su código nativo de reacción, intente volver a abrir el proyecto
fuente
Estoy trabajando con
RN 0.49.5
. He probado muchos métodos, pero nadie funciona. Finalmente resolví esto. Es simple y fácil.La idea principal es cambiar el
localhost
a127.0.0.1
, pero no es donde el RN te lo dice. Está en RCTBundleURLProvider.m # - (BOOL) isPackagerRunning: (NSString *) host .Cambios de código:
oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1";
esto está bien para el simulador. Si es un dispositivo, simplemente cambie la dirección IP a la de su máquina.fuente
Otra cosa que funciona para mí es abrir el proyecto en xcode y luego limpiarlo y compilarlo. normalmente vuelve a ejecutar el servidor de empaquetado y resuelve el problema.
fuente
Ejecute el siguiente comando:
abrirá launchpackager.command y la aplicación se instalará en el simulador de ios
fuente
Asegúrese de que se
launchPackage.command
esté ejecutando en una terminal e intente ejecutar nuevamente. Construirá el paquete. Es un poco como webpack-dev-server.fuente