J'ai installé les outils de ligne de commande:
$ xcode-select --print-path
/Library/Developer/CommandLineTools
Cependant, quand quelque chose essaie d'utiliser xcodebuild
, j'obtiens l'erreur suivante:
$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Sur Mountain Lion, il était possible de l'utiliser sans installer l'ensemble de Xcode, plutôt que les outils de ligne de commande. Est-il possible de faire cela sur Mavericks? Comment puis-je le faire fonctionner?
N.B. Ceci est sur un installation propre de Mavericks.
pdate: Juste pour montrer, j'ai les outils de ligne de commande installés:
$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-Apple-darwin13.0.0
Thread model: posix
Je sais que c'est une réponse tardive, mais dans mon cas, cette commande a résolu le problème:
Sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Il semble que OSX ait modifié xcodebuild
pour exiger que XCode
soit installé, alors qu'avant, il fonctionnait correctement avec uniquement les outils de ligne de commande OSX installés.
Beaucoup de gens se sont heurtés à cela avec Node. L'outil de construction du nœud, gyp
, utilise xcodebuild
pour préparer la compilation des packages de nœuds. Mavericks a changé le comportement de xcodebuild
afin qu'il ne fonctionne plus correctement avec gyp
. Ceci est en train d'être corrigé pour le moment. Voir le problème node-gyp
Une fois que les modifications ont été déployées sur NPM, vous pourrez installer le nouveau node-gyp
empaquetez et compilez correctement. Vous devrez également mettre à jour votre version de NPM une fois que les modifications auront été intégrées à NPM.
Allez d'abord dans le Finder, sélectionnez ensuite Applications dans le panneau de gauche, recherchez Xcode et vérifiez s'il s'appelle Xcode ou Xcode-Beta.
Si name est Xcode-Beta, entrez cette commande dans Terminal:
Sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer
Si name est Xcode, entrez cette commande:
Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
J'espère que cette réponse pourrait aider les utilisateurs de la version bêta de Xcode
Merci
Ce problème était dû à xcode-select répertoire du développeur pointant vers /Library/Developer
, qui ne contenait que le dossier CommandLineTools
. À cette fin, le message d'erreur indique que le répertoire n'est pas identique à Xcode.
Deux solutions testées:
(Re) Installer Xcode.
Pointez xcode-select sur le répertoire du développeur Xcode à l'aide de la commande suivante:
Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Références:
J'ai réinstallé Xcode à partir de l'App Store, ce qui a résolu ce problème. Je suppose que mon installation précédente n'est pas une installation complète
Aujourd'hui, j'avais ce problème et le problème était que j'utilisais une installation manuelle de xcode et que le fichier s'appelait Xcode8.3.2.app au lieu de Xcode.app. Renommer l'application a résolu le problème de la plainte de xcode-select. Cela semble indiquer que le nom d'application habituel figure sur son chemin de recherche, mais pas les variantes.
Il existe également une interface graphique permettant de modifier le chemin des outils de ligne de commande dans Xcode> Préférences> Emplacements:
Je viens d'avoir ce problème après la mise à niveau vers Xcode 10.3 tout en conservant une copie plus ancienne de 10.2.1 dans un sous-dossier dans Applications. Lorsque j'ai ouvert ce panneau Emplacements, la sélection des outils de ligne de commande était vide, mais j'ai pu choisir entre les deux versions installées:
J'ai tendance à choisir l'option GUI si elle est disponible au lieu de copier dans les commandes Sudo
de SO.
Si vous utilisez XCode2: Sudo xcode-select --switch/Applications/Xcode\2.app/Contents/Developer
Faites attention au "\" pour échapper à l'espace.