Lorsque je lance un projet natif réactif, je reçois une erreur no bundle URL present
, mais je ne sais pas quelles erreurs je fais, j'étais très confus.
ios
reactjs
react-native
Yingch Xue
la source
la source
rm -rf ios/build/
watchman watch-del-all
Réponses:
Résolvez l'erreur
No bundle URL present
en: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
Vous pouvez maintenant exécuter la version React Native iOS (sans vous soucier de l'apparition des écrans d'erreur rouge courants de la mort) avec un simple raccourci d'alias:
rni
la source
J'ai également rencontré ce problème (première fois avec React Native). Le problème a disparu lorsque - alors qu'une simulation ios (
react-native run-ios
) était en cours d'exécution - j'ai courunpm install
puisreact-native run-ios
nouveau. Dans la fenêtre du terminal, il a montré qu'il groupait, puis le simulateur a montré l'écran de bienvenue.Consultez ce lien pour les mémoires après que la
react-native init PropertyFinder
ligne ait essayé d'utilisernpm start
(celle-ci fonctionne pour moi)=================================================== ======================
MISE À JOUR pour 16.9
Mon port 8081 a été bloqué par McAfee. L'utilisation directe d'un autre port ne fonctionnait pas
react-native start --port=8082
etreact-native run-ios --port=8082
J'ai essayé presque toutes les solutions données ici. mais rien n'a fonctionné.
Solution:
Recherche 8081 dans Xcode et les a tous remplacés par 8082. Ensuite, exécutez les mêmes commandes pour construire et exécuter l'application. L'application fonctionne bien
la source
J'ai eu le même problème lorsque j'ai groupé mon application. Vérifiez que votre
main.jsbundle
cible est votre projet principalla source
Comme indiqué dans le message d'erreur:
L'exécution de la commande suivante a fonctionné:
la source
Ce problème se produit lorsque vous n'autorisez pas les connexions non sécurisées via localhost, ou peut-être que vous avez essayé d'accepter les connexions non sécurisées via http.
Pour résoudre ce problème, ajoutez ceci sur
info.plist
:la source
localhost
mon adresse de réseau local dans Info.plist et donc il ne résolvait pas. J'ai ajouté un bloc pour «localhost» comme domaine d'exception et cela a fonctionné.Fermez votre simulateur et le terminal. Ouvrez-en un nouveau et accédez à votre projet, puis mettez à niveau votre réactif natif comme ceci:
Problème dans: Récursion infinie dans RCTFatal lorsque le bundle ne s'exécute pas .
la source
Raison:
En effet, l'application ne peut pas trouver le serveur (qui sert l'interface utilisateur - par le code javascript).
Solution:
npm run start
ou d'yarn start
abordLoading dependency graph, done.
)react-native run-ios/android
Explication:
React Native est livré en 2 parties:
Créer des commandes:
react-native run-ios/android
consiste à créer une partie native puis à la déployer sur les appareils et à démarrer l'application sur les appareils (simulateur / émulateur / appareil réel). Cela prenait généralement 3 à 4 minutes pour terminer.npm run start
ouyarn start
consiste à créer la partie javascript et à démarrer le serveur de développement pour servir l'interface utilisateur intégrée à l'application. Cela prenait généralement 30 secondes pour terminer.=> Normalement, la partie javascript se termine d'abord, puis la partie native arrive plus tard. (en fonction du temps utilisé).
=> ceci n'est vrai que pour la première génération (nouvelle génération).
=> pour reconstruire:
La partie native a juste pris 10 à 15 secondes pour vérifier les modifications et parce qu'aucune modification pour la partie native => n'a été effectuée avant que la partie javascript ne soit construite et servie. (Je ne suis pas sûr que la partie javascript ait été reconstruite ou non mais cela a pris beaucoup de temps que la partie native)
C'est pourquoi nous avons eu ce problème, l'application a fonctionné et a exigé une chose qui n'existait pas encore.
Prime:
react-native run-ios/android
démarrera automatiquement le serveur de développement pour vous.react-native run-ios/android
juste aprèsreact-native init <app_name>
, tout s'est bien passé. (Parce que la fonction de démarrage automatique et le temps a été pris pour une nouvelle construction comme l'état ci-dessus).Le temps utilisé sur cette réponse était relatif à ma machine => peut différer sur les autres.
la source
Essayez d'exécuter ce code:
$ sudo xcodebuild -license
Cela peut résoudre le problème. Cela fonctionne pour moi.
la source
J'ai eu la même erreur et j'ai pu exécuter l'application uniquement via Xcode.
react-native run-ios
n'a pas marché. Pour résoudre le problème, vous devez supprimer lebuild
dossier àYOUR_PROJECT/ios/build/
. Après cela, vous devriez pouvoir exécuter àreact-native run-ios
nouveau votre application . J'espère que cela t'aides.la source
Dans la plupart des cas, ce problème se produit lorsque la recherche DNS / recherche IP ne parvient pas à trouver localhost.
Solution :
Essayez d'ajouter l'ip localhost à votre fichier hôte, etc.
vous pouvez ajouter les lignes ci-dessous à votre fichier hôte etc (/ etc / hosts)
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 l. ocalhost
Pour confirmer que c'est le problème, vous pouvez frapper l'url du bundle sur safari (si vous l'essayez en chrome cela résoudra mais safari ne pourra pas le résoudre). http: // localhost: 8081 / index.ios.bundle? platform = ios & dev = true & minify = false
la source
Assurez-vous que vos paramètres ATS sont corrects dans le fichier .plist.
Vous pouvez trouver le fichier à /ios/{{project_name}}/Info.plist
localhost doit être défini comme cible de demande d'exception comme ceci:
* (n'oubliez pas de le supprimer sur la version finale ..)
la source
Pour moi, le problème était qu'il ne pouvait pas créer le bundle JS. Il n'indique pas l'erreur lors de la construction à partir de Xcode, il n'y a donc aucun moyen de le savoir. Pour trouver l'erreur, exécutez la commande suivante.
react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
Pour moi, l'erreur était quelque chose avec le composant PureRenderMixin manquant. À laquelle la solution peut être trouvée ici: https://github.com/facebook/react-native/issues/13078 . Fondamentalement, vous devez installer manuellement [email protected]. Cela peut être fait en exécutant cette commande.
npm i --save [email protected]
Ce problème se produit maintenant pour tout le monde, car de nouvelles versions de Reaper Alphas sont publiées (en particulier alpha.5) et elles cassent les versions natives de React.
la source
"plugins": ["transform-decorators-legacy"]
à votre fichier .babelrc. Ou essayez-le avec le connect HOC.The node type SpreadProperty has been renamed to SpreadElement
et sa@babel
bibliothèque de référencement à l' intérieur denode_modules
, je n'ai rien trouvé qui a résolu ce problème.Solution ->
npm start
puis ouvrez un nouveau terminal et accédez à votre chemin de projet, puis appuyez surreact-native run-ios
cela fonctionne pour moila source
Ce qui l'a résolu pour moi:
cd
dansYOUR_PROJECT/ios
rm -r build
react-native run-ios
nouveauVous pouvez également ouvrir le Finder, rechercher
YOUR_PROJECT/ios
et supprimer lebuild
dossier.Puis exécutez à
react-native run-ios
nouveau.Source: Andrew Bancroft
la source
Il s'agit d'un problème avec react-native v0.42.1. Essayez de fermer toutes les instances de terminal et XCode et exécutez:
la source
fermez d'abord le simulateur, puis exécutez-les sur le terminal
la source
Il suffit d'exécuter dans le terminal
react-native start
:Il démarrera le packager, maintenant ne fermez pas cette fenêtre de terminal, dans une autre fenêtre de terminal exécutez votre projet. C'est le seul besoin que j'ai trouvé pour le faire fonctionner correctement.
la source
J'ai trouvé que le moyen le plus simple / le plus rapide de contourner cela est de quitter l'application dans le simulateur (2 x
Cmd + Shift + H
) et de relancer.la source
J'ai eu ce même problème. Mais mon problème était que mon Mac et mon iPhone n'étaient pas sur le même réseau wifi.
Assurez-vous donc qu'ils sont tous dans le même réseau et reconstruisez à nouveau. Si ce n'est pas le cas, essayez les solutions mentionnées par d'autres membres ici.
la source
vérifiez votre proxy réseau, mieux vaut l'arrêter.
ou vous devriez trouver un autre moyen de maintenir le serveur de packager
la source
Cela m'est également arrivé après le redémarrage de mon Mac. Une fenêtre de terminal launchPackager s'ouvre lorsque vous exécutez votre application sur le simulateur. J'ai fermé cette fenêtre et terminé le processus (j'ai également cloué le simulateur), puis j'ai exécuté à nouveau run-ios natif et tout fonctionne correctement.
la source
Dans mon cas, le problème a été résolu en redémarrant le
adb
serveur:adb kill-server && adb start-server
la source
J'ai également eu ce problème pour moi ... le problème était que le packer ne fonctionnait pas, il semblait probablement parce que mon shell par défaut était zsh. des pneus natifs pour ouvrir une nouvelle fenêtre de terminal et fonctionner,
.../node_modules/react-native/packager/launchPackager.command
mais cela n'a pas fonctionné. Le faire manuellement (et le faire fonctionner) a résolu ce problème pour moi.la source
vérifiez votre clé 'localhost' à NSExceptionDomains dict dans info.plist
s'il n'existe pas, il provoque une erreur.
la source
En supposant que vous utilisez
nvm
et plusieurs versions de nœud installées, voici la solution:npm install -g react-native-cli
dansnode v6.9.5
.node v6.9.5
par défaut en exécutantnvm alias default 6.9.5
react-native run-ios
Le problème est que vous avez plusieurs versions de nœud installées via
nvm
et pour installer,react-native-cli
vous avez changé ou installé la dernière version de nœud, qui n'est pas encore marquée comme nœud par défaut à pointernvm
. Lorsque vous exécutez,react-native run-ios
cela ouvre une autre nouvelle fenêtre de terminal dans laquelle la valeur par défautnvm
n'est pas pointée vers la version du nœud où vous avez installéreact-native-cli
. Suivez simplement la configuration ci-dessus, j'espère que cela devrait vous aider.la source
assurez-vous que vous avez .jsbundle dans votre projet
Ajouter
dans votre code natif réactif essayez de rouvrir le projet
la source
Je travaille avec
RN 0.49.5
. J'ai essayé beaucoup de méthodes, mais personne ne fonctionne. Enfin, je l'ai résolu. C'est simple et facile.L'idée principale est de changer le
localhost
en127.0.0.1
, mais ce n'est pas là que le RN vous le dit. C'est dans RCTBundleURLProvider.m # - (BOOL) isPackagerRunning: (NSString *) hôte .Changements de code:
oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1";
c'est ok pour le simulateur. S'il s'agit d'un appareil, changez simplement l'adresse IP en celle de votre machine.la source
une autre chose qui fonctionne pour moi est d'ouvrir le projet dans xcode, puis de le nettoyer et de le construire. généralement, il réexécute le serveur d'emballage et résout le problème.
la source
Exécutez la commande ci-dessous:
il ouvrira launchpackager.command et l'application s'installera sur le simulateur ios
la source
Assurez-vous que vous
launchPackage.command
exécutez dans un terminal et essayez à nouveau d'exécuter. Il va construire le bundle. C'est un peu comme webpack-dev-server.la source