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, gcc
et make
et 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:
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):
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).
git
commandes échouaient. Cette réponse était le correctif dont j'avais besoin pour que lesgit
commandes fonctionnent à nouveau, par exemple.git branch
etc