Installation des outils de ligne de commande Xcode


31

J'ai effectué une nouvelle installation de macOS Mojave 10.14. Immédiatement après cela, j'ai installé Xcode version 10.0 (10A255) à partir du Mac App Store.

Maintenant, je souhaite installer Homebrew qui nécessite l'installation des outils de ligne de commande Xcode. Ma compréhension est que l'installation de Xcode installe également les outils de ligne de commande. Ou pas?

Selon cette réponse , j'ai vérifié si les outils de ligne de commande sont installés en exécutant:

xcode-select -p

qui a imprimé le chemin du répertoire Developer comme suit:

/Applications/Xcode.app/Contents/Developer

Comme suggéré dans la réponse, j'ai également vérifié la valeur de retour en exécutant:

echo $?

qui revint 0.

J'ai aussi couru, gccet makeet bash était en mesure de localiser et de les exécuter.

Jusqu'à présent, je suis convaincu que les outils de ligne de commande Xcode sont installés. Maintenant, quand j'exécute:

xcode-select --install

Je reçois cette alerte:

entrez la description de l'image ici

Quelle est la raison probable de cette disparité? Cela installera-t-il les outils de ligne de commande Xcode deux fois? Ou remplacer l'installation existante?

Si je comprends bien, les outils de ligne de commande Xcode peuvent être installés sans installer Xcode. De plus, d'après mon expérience précédente, si les outils de ligne de commande ne sont pas installés séparément de Xcode (en exécutant xcode-select --install), ils ne sont pas détectés par Homebrew, c'est-à-dire lors de l'exécution brew config, la valeur de CLT:est indiquée comme N/A.

Voici l'image complète (pardonnez le jeu de mots):

entrez la description de l'image ici

Bien que je parle dans le contexte de macOS Mojave, la question reste la même en ce qui concerne les versions précédentes de macOS.

Quelle est l'approche conseillée à adopter ici?

Remarque : Après avoir installé Xcode, je l'ai lancé, j'ai accepté le contrat de licence et je l'ai laissé terminer sa série d'installation d'outils supplémentaires (qui est une activité unique).

Réponses:


24

Apparemment, il existe une distinction entre les outils de ligne de commande installés pour une utilisation par Xcode et les outils installés pour une utilisation à l'échelle du système:

Pour ma machine, l'exécution xcode-select --installet le choix d'installer les outils à partir de la fenêtre qui a surgi ont aidé à résoudre le problème. J'ai pu confirmer qu'il a été corrigé lors de l'exécution brew configet en voyant une entrée valide pour CLT:

macOS: 10.14-x86_64
CLT: 10.0.0.0.1.1535735448
Xcode: 10.0

1
(commentant pour seo) Je suis ici parce que mes gitcommandes échouaient. Cette réponse était le correctif dont j'avais besoin pour que les gitcommandes fonctionnent à nouveau, par exemple. git branchetc
Jacksonkr

1
Vous pouvez également sélectionner une version Xcode pour le CLT dans les préférences de Xcode sur l'onglet Emplacement. Vous verrez des tonnes de références en ligne à un onglet "téléchargements", qui n'existe plus. Quelqu'un peut-il faire la lumière sur ce que fait réellement cette sélection dans Xcode? brew config confirme que j'ai le CLT installé, mais Qt se plaint que j'ai besoin de Xcode 5 (oui, 5, WTH). Apparemment, cette sélection CLT y est pour quelque chose.
Oscar


0

J'ai rencontré un problème similaire en essayant d'installer certains packages python (avec jsonnet comme dépendance), et j'ai trouvé une solution ici . Après avoir couru;

xcode-select --install

Apparemment, vous devez toujours installer le package, ce que vous pouvez faire à partir du terminal;

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Bien que Steven ait déjà répondu à votre question, j'espère que cela aide quelqu'un!


-2

Le téléchargement des outils de ligne de commande à partir de developer.apple.com a résolu le problème, mais a téléchargé les outils de ligne de commande pour Xcode 10.14 et non la version bêta ...

J'espère que cela résout votre problème ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.