Erreur lors de l'exécution de l'application native React à partir du terminal (iOS)

394

Je suis le tutoriel sur le site officiel de React Native.

Utiliser ce qui suit pour construire mon projet:

react-native run-ios

Je reçois l'erreur:

Found Xcode project TestProject.xcodeproj
xcrun: error: unable to find utility "instruments", not a developer   
tool or in PATH

Command failed: xcrun instruments -s
xcrun: error: unable to find utility "instruments", not a developer 
tool or in PATH

Bien que, lorsque j'exécute l'application à partir du .xcodeproj, tout fonctionne bien.

Aucune suggestion?

JacobSiegel
la source
stackoverflow.com/questions/60227353/… Quelqu'un peut-il m'aider dans ces erreurs
Shaharyar Jafri

Réponses:

952

Consultez ce lien (L' exécution de react-natif run-ios se produit une erreur? ). Cela semble être un problème avec l'emplacement de Command line tools.

Dans Xcode, sélectionnez le menu Xcode, puis Préférences, puis l'onglet Emplacements. Sélectionnez votre version Xcode dans la liste déroulante et quittez Xcode.

Onglet d'emplacement XCode

leo7r
la source
@JacobSiegel pouvez-vous fournir plus d'informations sur votre onglet Emplacements dans XCode, s'il vous plaît.
leo7r
9
@ leo7r Merci. Mes outils CL étaient vides. J'ai changé le paramètre en Xcode 8.0 et cela a résolu le problème. Vous voudrez peut-être le souligner dans votre réponse. À votre santé!
AndrewHenderson
La liste déroulante des outils de ligne de commande était vide pour moi, la seule option que j'avais en cliquant était Xcode 9.2, que j'ai sélectionné, les modifications enregistrées et les instruments étaient disponibles pour réagir en natif. Merci!
Joey T
Je l'avais donc fait et pour une raison quelconque, l'installation de homebrew l'a désactivé. J'ai dû le sélectionner à nouveau dans xcode après l' installation de homebrew.
qwertzguy
1
Vous avez toujours l'erreur même avec un CLT sélectionné ...: /
Mayoul
139

Vous devrez peut-être installer ou définir l'emplacement des outils de ligne de commande Xcode .

Via la ligne de commande

Si vous avez téléchargé Xcode, vous pouvez exécuter ce qui suit pour définir le chemin:

sudo xcode-select -s /Applications/Xcode.app

Si les outils de ligne de commande n'ont pas encore été installés, vous devrez peut-être exécuter ceci en premier:

xcode-select --install

Vous devrez peut-être accepter la licence Xcode avant d'installer les outils de ligne de commande:

sudo xcodebuild -license accept 

Via Xcode

Ou ajustez le Command Line Toolsparamètre via Xcode ( Xcode > Preferences > Locations):

Préférences Xcode - onglet Emplacements

odlp
la source
Fonctionne comme un charme! <3
Rishav Kumar
15

Par défaut, après avoir installé la ligne de commande Xcode non sélectionnée, ouvrez Xcode et allez dans Préférences >> Emplacements et définissez les outils de ligne de commande ...

Cela a fonctionné pour moi dans MAC High Sierra , Xcode version 9.3 :

Préférences Xcode

Appuyez ipour ouvrir l' émulateur iOS ...

Appuyez sur a pour ouvrir l'appareil ou l'émulateur Android, ou sur i pour ouvrir l'émulateur iOS.

Et vous pouvez voir un nouveau simulateur iPhone sympa comme l'image ci-dessous:

Réagissez aux impressions natives, je suis Alireza Dezfoolian, développeur Front End!

Alireza
la source
2
La meilleure réponse, le meilleur des meilleurs.
AmerllicA
13

Dans mon cas, le problème était que Xcode n'était pas installé.

Heisenberg
la source
Pouvez-vous expliquer la raison du vote négatif? C'était une vraie réponse. J'obtenais exactement la même erreur.
Heisenberg
le site officiel de react native indique clairement que vous avez besoin de Xcode pour que react native fonctionne.
JacobSiegel
6
Je suivais un tutoriel pour les débutants qui supposait que xcode est déjà installé et ne le mentionne pas. Cette erreur ne signifie pas que xcode n'est pas installé. Donc, je ne l'aurais jamais su.
Heisenberg
11

J'ai dû accepter la licence XCode après ma première installation avant de pouvoir l'exécuter. Vous pouvez exécuter ce qui suit pour obtenir l'invite de licence via la ligne de commande. Vous devez également taper agreeet confirmer.

sudo xcodebuild -license
Mario Tacke
la source
Vous pouvez également accepter la licence immédiatement, si vous le souhaitez: sudo xcodebuild -license accept(source: apple.stackexchange.com/a/213151/89456 )
odlp
7

Le problème est que votre version Xcode n'est pas définie sur les outils de ligne de commande, pour résoudre ce problème, ouvrez Xcode> Menu> préférences> emplacement> ici pour les outils de ligne de commande, sélectionnez votre version Xcode, c'est tout. entrez la description de l'image ici

Lovekush Vishwakarma
la source
4

Pour ceux comme moi qui viennent sur cette page avec ce problème après la mise à jour de Xcode mais qui n'ont pas de problème avec le paramètre de localisation, redémarrer mon ordinateur a fait l'affaire.

Zachary Melancon
la source
3

Pour moi, il s'avère qu'il y avait une mise à jour du système iOS en attente demandant de redémarrer l'ordinateur. Redémarrez et laissez la mise à jour terminée résolu mon problème.

Poubelle
la source
1

Dans mon cas, la variable d'environnement SDKROOT était incorrecte, ce qui faisait référence à une ancienne version de iPhoneOSxx.x.sdk. (Peut-être que cela se serait résolu automatiquement après un redémarrage?)

Vous pouvez vérifier en exécutant echo $SDKROOTet en vérifiant qu'il s'agit d'un chemin valide.

Je l'ai corrigé en mettant à jour dans .bash_profile:

export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk
python1981
la source
1

Aucune de ces solutions n'a fonctionné pour moi. Ces deux problèmes similaires offrent des solutions temporaires qui ont fonctionné, il semble que le processus du simulateur ne soit pas arrêté correctement:

Killing Simulator Processes

Depuis https://stackoverflow.com/a/52533391/11279823

  1. Quittez le simulateur et Xcode.
  2. Option ouverte Activity monitoret sélectionnée cpuet recherche sim, tuant tout le processus affiché comme résultat.
  3. Il a ensuite mis le feu au terminal et a couru sudo xcrun simctl erase all. Il supprimera tout le contenu de tous les simulateurs. Par contenu, si vous vous êtes connecté quelque part, le mot de passe aura disparu, toutes les applications de développeur installées dans ce simulateur auront disparu.

Ouverture de Simulator avant de démarrer le package

Depuis https://stackoverflow.com/a/55374768/11279823

open -a Simulator; npm start

Espérons qu'une solution permanente soit trouvée.

user11279823
la source
1

1) Allez dans les préférences Xcode

2) Localisez l'onglet emplacement

3) Définissez le verdion Xcode dans les outils de ligne de commande donnés

Maintenant, cela fonctionnera avec succès.

Apurva Aggarwal
la source
0

Sous Mac: Après tout, vous rencontrez ce problème, il peut y avoir un risque de manquer les éléments suivants dans Préférences Système -> Réseau -> Ethernet -> Sélectionner Avancé -> Proxies

ajoutez la ligne suivante,

* .local, localhost

Unnikrishnan
la source
0

Pour tout problème de ce type:

  1. Accéder au .expodossier
  2. Trouver apk-cache
  3. Supprimer ce dossier

et vous avez terminé ..

J'espère que cela aide?

officiellement
la source