Cuando ejecuto un proyecto nativo de reacción, aparece un error no bundle URL present
, pero no sé qué errores cometo, estaba muy confundido.
rm -rf ios/build/
watchman watch-del-all
Cuando ejecuto un proyecto nativo de reacción, aparece un error no bundle URL present
, pero no sé qué errores cometo, estaba muy confundido.
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
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 luego react-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 usar npm 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ó.
"react": "16.9.0",
"react-dom": "^16.12.0",
"react-native": "0.61.5",
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
react-native start --port=8082
react-native run-ios --port=8082
Tuve el mismo problema cuando incluí mi aplicación. Verifique que main.jsbundle
esté dirigido a su proyecto principal
Como se indica en el mensaje de error:
Aceptar la licencia Xcode / iOS requiere privilegios de administrador, ejecute "sudo xcodebuild -license" y vuelva a intentar este comando.
Ejecutar el siguiente comando funcionó:
sudo xcodebuild -license
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
:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
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:
react-native upgrade
Problema en: recursión infinita en RCTFatal cuando el paquete no se ejecuta .
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
o yarn 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
o yarn 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.
Intenta ejecutar este código:
$ sudo xcodebuild -license
Esto puede solucionar el problema. Esto funciona para mi.
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 la build
carpeta en YOUR_PROJECT/ios/build/
. Después de esto, debería poder ejecutar su aplicación react-native run-ios
nuevamente. Espero que esto ayude.
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
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:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
* (no olvide eliminar esto en la versión de lanzamiento ..)
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 react@16.0.0-alpha.3. Esto se puede hacer mediante la ejecución de este comando.
npm i --save react@16.0.0-alpha.3
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.
"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 dentro node_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 presione
react-native run-ios
, funciona para mí
Lo que me resolvió:
cd
dentro YOUR_PROJECT/ios
rm -r build
react-native run-ios
nuevoAlternativamente, puede abrir Finder, navegar YOUR_PROJECT/ios
y eliminar la build
carpeta.
Luego corre de react-native run-ios
nuevo.
Fuente: Andrew Bancroft
Este es un problema con react-native v0.42.1. Intente cerrar todas las instancias de terminal y XCode y ejecute:
launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist
watchman version
react-native run-ios
primero cierre el simulador, luego ejecútelos en la terminal
npm install
react-native run-ios
Solo corre en la Terminal react-native start
:
cd your react native app directory/ 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.
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.
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í.
verifique su proxy de red, mejor apáguelo.
o deberías encontrar otra forma de mantener el servidor del empaquetador
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.
En mi caso, el problema se solucionó reiniciando el adb
servidor:adb kill-server && adb start-server
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.
verifique su clave 'localhost' en NSExceptionDomains dict en info.plist
Si no existe, causa un error.
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 instalar react-native-cli
ha cambiado o instalado la última versión del nodo, que aún no está marcado como nodo predeterminado para señalar nvm
. Cuando ejecuta react-native run-ios
esto, se abre otra nueva ventana de terminal en la que el valor predeterminado nvm
no apunta a la versión del nodo donde ha instalado react-native-cli
. Simplemente siga la configuración anterior, espero que eso ayude.
asegúrese de tener .jsbundle en su proyecto
Añadir
react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios
en su código nativo de reacción, intente volver a abrir el proyecto
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
a 127.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.
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.
Ejecute el siguiente comando:
killall -9 node
rm -rf ios/build
react-native run-ios
abrirá launchpackager.command y la aplicación se instalará en el simulador de ios