Quel est le sens de " Pas de bundle URL présentes dans réagissent-natif?
Quand je lance une réagir indigènes projet, j'obtiens une erreur no bundle URL present
, mais je ne sais pas quelles sont les erreurs que je fais, j'étais très confus.
- J'ai été confronté à ce problème de réagir natif de l'application iOS. Il suffit d'ouvrir le xcodeproj dans ios dossier dans xcode et l'exécuter à partir de là. Assurez-vous que vous n'êtes pas sur de proxy.
- La plupart du temps, l'effacement du répertoire de construction m'aide
rm -rf ios/build/
Vous devez vous connecter pour publier un commentaire.
Résoudre l'erreur
No bundle URL present
par: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
Maintenant, vous pouvez exécuter Réagir Natif iOS construire (sans se soucier de certains de la commune d'erreur rouge écrans de la mort apparaissant) avec un simple alias raccourci:
rni
Je viens de tomber sur ce problème (lors de la première prise en main avec Réagissent Natif). Le problème a disparu quand - tout en un ios simulation(
react-native run-ios
) était en cours d'exécution - j'ai courunpm install
et puisreact-native run-ios
de nouveau. Dans la fenêtre du terminal, il a montré qu'il était le regroupement, et puis le simulateur a montré l'écran de bienvenue.Suivez ce lien pour des mémoires après
react-native init PropertyFinder
ligne essayez d'utilisernpm start
(celui-ci fonctionne pour moi)À proximité de votre simulateur et le terminal. Ouvrir de nouvelles et aller à votre projet, de mettre à niveau vos réagir indigènes comme ceci:
Question: Récursion infinie dans RCTFatal lorsque le bundle ne parvient pas à exécuter.
Comme indiqué dans le message d'erreur:
...J'ai exécuté la commande suivante:
Cela fonctionne maintenant.
Eu le même problème quand j'ai fait le bundle de mon application.
Vérifiez que votre
main.jsbundle
est ciblé pour votre Projet principalCe problème se produit lorsque vous ne pas autoriser les connexions non sécurisées via localhost, ou peut-être vous avez essayé d'accepter les connexions non sécurisées via le protocole http.
Pour résoudre ce problème, ajoutez ce sur
info.plist
:localhost
à mon réseau local adresse dans l'Info.plist et il n'est donc pas de se résoudre. J'ai ajouté un bloc de "localhost" comme une exception du domaine et cela a fonctionné.Raison:
C'est parce que l'application ne peut pas trouver le serveur (qui est l'INTERFACE utilisateur par le code javascript).
Solution:
npm run start
ouyarn start
premièreLoading dependency graph, done.
)react-native run-ios/android
Explication:
Réagir Natif est livré avec 2 parties:
Construire commandes:
react-native run-ios/android
est de construire natif partie de la déployer sur les équipements et démarrer l'application sur les appareils (simulateur/emulateur/périphérique réel). Généralement, cela a pris 3~4 minutes de la fin.npm run start
ouyarn start
est de construire la partie javascript et démarrer le serveur de dev pour servir le construit de l'INTERFACE utilisateur de l'application. Généralement, cela a pris 30 secondes pour terminer.=> Normalement, la partie javascript terminé d'abord, ensuite la partie native est venu plus tard. (basé sur le temps, ils ont utilisé).
=> cela n'est vrai que pour la première fois de construire (frais à construire).
=> pour re-construire:
La partie native juste pris 10~15 secondes pour vérifier les modifications et parce qu'aucun changement pour la partie native => fait avant la partie javascript a été construit et servi. (Je ne suis pas sûr de la partie javascript a été reconstruite ou pas, mais il prend du temps, que la partie native)
C'est pourquoi nous avons eu ce problème, l'application a couru et a exigé chose qui n'existait pas encore.
Bonus:
react-native run-ios/android
démarrera automatiquement le serveur de dev pour vous.react-native run-ios/android
juste aprèsreact-native init <app_name>
, tout a bien fonctionné. (parce que la fonction de démarrage automatique et le temps a été pris pour construire des frais d'état ci-dessus).Temps utilisé sur cette réponse était par rapport à ma machine => peut-être différent sur d'autres.
J'ai eu le même message d'erreur et a été en mesure d'exécuter l'application, uniquement par le biais de Xcode.
react-native run-ios
n'a pas de travail. Pour résoudre le problème, vous devez supprimer lebuild
dossier àYOUR_PROJECT/ios/build/
. Après cela, vous devriez être en mesure d'exécuter votre application à traversreact-native run-ios
de nouveau. Espérons que cette aide.Essayez d'exécuter ce code:
$ sudo xcodebuild -license
Ce qui pourrait résoudre le problème. Cela fonctionne pour moi.
La plupart des cas, ce problème se produit lorsque la recherche DNS /IP lookup ne parvient pas à trouver localhost.
Solution :
Essayez d'ajouter l'ip localhost pour votre etc fichier hôte.
vous pouvez ajouter les lignes ci-dessous à votre etc hôte fichier (/etc/hosts)
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 . l. ocalhost
Pour confirmer cette question
vous pouvez frapper le bundle url dans safari (si vous l'essayez, dans google chrome, cela permettra de résoudre mais safari ne serez pas en mesure de le résoudre). http://localhost:8081/index.ios.bundle?platform=ios&dev=true&rh=false
Assurez-vous que votre ATS paramètres sont corrects dans .fichier plist.
Vous pouvez trouver le fichier à /ios/{{project_name}}/Info.plist
localhost doit être défini comme l'exception de demande de cible comme ceci:
*(n'oubliez pas de supprimer ce sur version..)
Ce que résolu pour moi:
cd
enYOUR_PROJECT/ios
rm -r build
react-native run-ios
nouveauVous pouvez également ouvrir le Finder, naviguez jusqu'à
YOUR_PROJECT/ios
et supprimer lesbuild
dossier.Puis exécutez
react-native run-ios
de nouveau.Source: Andrew Bancroft
Pour moi, le problème était qu'il ne pouvait pas créer la JS bundle. Il ne fait pas état de l'erreur lors de la construction de Xcode il n'existe aucun moyen pour vous 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 a été quelque chose avec manque PureRenderMixin composant. Dont la solution peut être trouvée ici: https://github.com/facebook/react-native/issues/13078. Fondamentalement, vous devez installer manuellement [email protected]. Ceci peut être fait via l'exécution de cette commande.
npm i --save [email protected]
Ce problème est en train de se passer pour tout le monde parce que des versions plus récentes de réagir alphas sont libérés (en particulier en alpha.5) et ils sont en rupture de réagir indigènes construit.
"plugins": ["transform-decorators-legacy"]
pour votre .babelrc fichier. Ou essayez-le avec la connexion ad HOC.The node type SpreadProperty has been renamed to SpreadElement
et son référencement@babel
bibliothèque à l'intérieur denode_modules
, je n'ai rien trouvé qui a été abordé.Solution -->
npm start
puis ouvrez à nouveau Terminal et allez dans votre projet de chemin d'accès, puis appuyezreact-native run-ios
il fonctionne pour moiC'est un problème de réagir indigènes v0.42.1. Essayez de fermer tous les terminaux et XCode instances et d'exécution:
J'ai trouvé la méthode la plus simple et la plus rapide façon de contourner cela est de quitter l'application dans le simulateur (2 x
Cmd + Shift + H
) et re-lancement.d'abord fermer le simulateur, puis l'exécuter sur le terminal
vérifier votre proxy réseau , de mieux l'arrêter.
ou u devrait trouver un moyen de maintenir l'emballeur serveur
Dans mon cas, le problème a été résolu en redémarrant le
adb
serveur:adb kill-server && adb start-server
J'ai eu ce problème de se produire pour moi aussi...le problème était le packer n'était pas en cours d'exécution, il semblait sans doute parce que mon shell par défaut a été zsh. réagir indigènes pneus pour ouvrir une nouvelle fenêtre de terminal et exécutez
.../node_modules/react-native/packager/launchPackager.command
mais cela ne fonctionne pas. L'exécution manuelle que (et de le garder en cours d'exécution) fixe pour moi.vérifier votre "localhost" à NSExceptionDomains dict en info.plist
si elle n'existe pas, il provoque une erreur.
J'ai eu ce même problème. Mais mon problème vient de mon Mac et mon iPhone n'étaient pas dans le même réseau wifi.
Afin de s'assurer qu'ils sont tous dans le même réseau et de reconstruire une fois de plus. Si ce n'est pas le cas, essayez les solutions évoquées par d'autres membres ici.
Il m'est arrivé ainsi, après le redémarrage de mon mac. Il y a un launchPackager terminal de l'ouverture de la fenêtre lorsque vous exécutez votre application sur le simulateur. J'ai fermé la fenêtre et de la fin de la procédure (j'ai aussi cloosed le simulateur), puis exécutez à nouveau réagir-exécution natif ios et tout fonctionne bien.
En supposant que vous utilisez
nvm
et plusieurs versions de nœud installé, voici la solution:npm install -g react-native-cli
dansnode v6.9.5
.node v6.9.5
comme valeur par défaut en exécutantnvm alias default 6.9.5
react-native run-ios
Le problème est, vous avez plusieurs versions de nœud installé via
nvm
et installerreact-native-cli
vous avez commuté ou installé la dernière version de nœud, ce qui n'est pas marqué comme nœud par défaut à point dansnvm
encore. Lorsque vous exécutezreact-native run-ios
cela ouvre une autre nouvelle fenêtre de terminal dans lequel défautnvm
n'est pas fait pour le nœud de la version où vous avez installéreact-native-cli
. Il suffit de suivre la configuration ci-dessus, j'espère que devrait aider.Juste de lancer dans un Terminal
react-native start
:Il va démarrer le gestionnaire de package, maintenant, ne fermez pas cette fenêtre de terminal, dans une autre fenêtre de terminal, exécutez votre projet. C'est la seule envie que j'ai trouvé pour qu'il fonctionne correctement.
J'ai connu le même problème et je l'ai résolu en faisant des changements dans AppDelegate.m fichier. J'ai changé
à
Et cela a fonctionné pour moi 🙂
essayez d'ajouter ceci :
assurez-vous que vous avez .jsbundle dans votre projet
Ajouter
dans votre réagissent en code natif
essayez de rouvrir le projet
Assurez-vous que
launchPackage.command
sont en cours d'exécution dans un terminal et essayez d'exécuter à nouveau. Il va construire le paquet. C'est un peu comme webpack-dev-serveur.127.0.0.1 localhost
n'est pas de supprimernpm install
&react-native upgrade
pour réinitialiser votre projetJe travaille avec
RN 0.49.5
.J'ai essayé beaucoup de méthodes, mais aucune ne fonctionne. Enfin, j'ai travaillé cela.
C'est simple et facile.
Idée principale est de changer le
localhost
à127.0.0.1
, mais il n'est pas là la RN vous 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. Si c'est de l'appareil, il suffit de changer l'adresse ip de votre machine.
C'est parce que votre client ne peut pas atteindre votre emballeur serveur.
Si vous êtes un Chinois Coder comme je suis, je pense que vous pourriez utiliser un VPN obtenir par le biais de la GFW. Lorsque votre VPN outil est en Mode Global, tous de votre demande est de voyager à travers le monde et ne peut pas se localhost
Essayer "Auto Mode Proxy'.
Si vous n'êtes pas venir de la Chine, ou votre VPN est déjà "Auto Mode Proxy', je vous suggère de fermer votre gestionnaire de liaisons de serveur et essayez de nouveau.
autre chose que de travailler pour moi , est d'ouvrir le projet dans xcode, puis nettoyer et de le construire. habituellement, il rediffusions l'emballage de serveur et de résoudre le problème.
...une autre raison pourquoi ce qui se passe est que si vous avez installé Visual Studio Code Réagir Outils Natifs mais vous continuez à essayer d'utiliser réagir natif dans le terminal: il va travailler la première fois, mais ensuite il s'arrête, et vous montrer le rouge, pas de bundle écran.
lancement de réagir natif de vscode fonctionne parfaitement, plutôt...
Pour mon cas d'utilisation, j'ai dû enlever répertoire node_modules et exécuter npm install.
Si vous obtenez l'erreur "dyld: la Bibliothèque n'est pas chargé: /usr/local/opt/icu4c/lib/libicui18n.58.dylib", procédez de la manière suivante:
Celui-ci fonctionne pour moi. J'ai fait supprimer ces lignes de mon fichier plist dans iOS pour la production de but, en conséquence, Le simulateur ne pouvait pas extraire le fichier bundle. https://medium.com/@joshuakuhar/no-bundle-url-present-69333bb5da42
export FORCE_BUNDLING=true
a fonctionné pour moi. Il y avait un avertissement dans la console qu'il n'était pas livré.J'ai été connecté au réseau par câble et wifi sur mon macbook, désactivé le wifi et le coup juste courir et ça a fonctionné!
Nous ont contourné ce problème en supprimant la SKIP_BUNDLING option dans le script de compilation de la RN docs a suggéré d'ajouter à accélérer la version debug. La vraie solution (pour notre cause) est inclus dans RN 0.57:
https://github.com/facebook/react-native/issues/20553
C'est la façon dont je l'ai fait:
Ce problème peut se produire lorsque nous avons plusieurs versions de noeud géré par nvm et la version par défaut n'est pas prévu de version pour exécuter réagir indigènes. (assurez-vous qu'il est le Nœud 8.3 ou plus récent)
ouvre un nouveau terminal et exécute la version de nœud trouvé dans le $PATH.
Si il détecte une version antérieure de nœud non pris en charge par réagir natif, il peut donner à cette erreur.
Assurez-vous que la variable $PATH est d'ores et déjà orienté à l'intention de la version de node(assurez-vous qu'il est le Nœud 8.3 ou plus récent) lorsqu'un nouveau terminal est ouvert.
Qui a résolu le problème pour moi. Bonne chance.
J'ai essayé toutes les solutions ci-dessous, mais rien de travail:
sudo xcodebuild -license
ourm -r build
et exécuterreact-native run-ios
ounpm start
et exécuterreact-native run-ios
NSAppTransportSecurity
à"J'ai résolu par ce faire:
sudo vi /private/etc/hosts
(si vous utilisez VSCode, utilisez cesudo code /private/etc/hosts
)react-native run-ios
de nouveau.Désactiver le proxy global (shadowsocks)
C'est parce que vous avez probablement à proximité du Métro Bundler Fenêtre ou il peut être écrasé. il suffit d'ouvrir un autre terminal/cmd dans le répertoire du projet et exécuter
npm start
. En Exécutantnpm start
Réagir Natif va lancer la MetroBundler Fenêtre une fois de plus. Après bundler termine leBUNDLE
processus, rechargez simplement l'Application et vous serez bon d'aller.Ok, ça peut sembler bizarre, mais aucune de ces réponses a fonctionné pour moi.
Je suis maintenant à réagir indigènes 0,60 et le problème qui se passait sur ios et android.
la seule solution qui a fonctionné pour moi a été de course
react-native run-ios
oureact-native run-android
Puis, lorsque l'erreur s'affiche, exécutez
npm install
(Garder le bundler et le simulateur ouvert)ensuite, exécutez
react-native run-ios
oureact-native run-android
Exécuter la commande ci-dessous:
il va ouvrir launchpackager.la commande et l'application à installer sur le simulateur ios
Ce problème m'est arrivé à cause de Métro bundler commencé et reçu le focus alors que j'étais en tapant sur mon clavier dans une autre fenêtre. Mon accidentelle d'entrée dans la nouvelle fenêtre de terminal causé Métro bundler pour crash. La reprise de
react-native run-ios
et attendant patiemment il fixe.Ouvrez une fenêtre de terminal
Retirer le dossier de création avec
rm -r build
Après cela, ouvrez votre projet dans Xcode et exécuter une seule fois. il sera exécuté au démarrage du serveur et créer les
main.jsbundle
fichier.Maintenant, si vous Exécutez
react-native run-ios
à partir de la borne de nouveau, il fonctionnera comme prévu.Espère que ça va vous aider!.
Utilisez la commande
Si vous êtes sous IOS simulator assurez-vous devez exécuter cette commande
réagir-exécution natif android
ou
mnp de l'exécution android
une fois que vous exécutez la commande ci-dessus métro bundler va démarrer , puis sur exécuter réagir-nagtive run-ios il va travailler .
De clôture de la cours d'exécution
React Packager
fenêtre du terminal, puis de ré-exécuter votre iOS projet de Xcode devrait fonctionner.