Impossible d'utiliser xcodebuild sur Mavericks avec les outils de ligne de commande installés

92

J'ai installé les outils de ligne de commande:

$ xcode-select --print-path
/Library/Developer/CommandLineTools

Cependant, lorsque 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'intégralité 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?

NB Ceci est sur une installation propre de Mavericks.

Mise à jour: juste pour montrer, j'ai installé les outils de ligne de commande:

$ 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

la source
1
Je rencontre le même problème ici en essayant de construire des modules de nœuds. Espérons qu'une solution de contournement rapide soit disponible.
rossipedia
J'ai créé un problème node-gypcar c'est la source de mon problème: github.com/TooTallNate/node-gyp/issues/341
Vous devez peut-être installer Xcode. C'est à quoi ressemble ma --version gcc Configurée avec: --prefix = / Applications / Xcode.app / Contents / Developer / usr --with-gxx-include-dir = / Applications / Xcode.app / Contents / Developer / Platforms /MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM version 5.0 (clang-500.2.79) (basé sur LLVM 3.3svn) Cible: x86_64-apple-darwin13. 0.0 Modèle de discussion: posix
Martin Christmann
1
Peut-être que vous avez raison, juste étrange que ce ne soit pas nécessaire sur Mountain Lion avec les outils de ligne de commande installés.
Je suppose que vous l'avez fait xcode-select --install. Avec Xcode xcode-select --print-pathimpressions installées/Applications/Xcode.app/Contents/Developer
mb21

Réponses:

64

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
Juanan
la source
14
notez que la question concerne la construction avec l'installation des outils de ligne de commande. En passant à Xcode.app, vous construisez via Xcode (ce que la question essaie d'éviter d'installer).
bryanmac
23

Il semble que OSX a changé xcodebuildpour exigerXCode d'être installé, alors qu'avant il fonctionnait correctement avec uniquement les outils de ligne de commande OSX installés.

Ancienne réponse semi-liée

Beaucoup de gens ont rencontré cela avec Node. L'outil de construction de Node,, gyputilise xcodebuildpour préparer la compilation des packages de nœuds. Mavericks a changé le comportement de xcodebuildpour 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 les modifications déployées sur NPM, vous pourrez installer le nouveau node-gyppackage et le compiler correctement. Vous devrez également mettre à jour votre version de NPM une fois les modifications intégrées dans NPM.

loganfsmyth
la source
Je ne sais pas pourquoi cela est lié au nœud, j'essaye de construire autre chose avec Xcode
zinking
exactement, toujours xcodebuild déclenche une erreur lorsque vous l'appelez à partir de la ligne de commande ... J'ai en fait téléchargé les derniers outils de ligne de commande à partir du site Web des développeurs
alexserver
16

Veuillez d'abord accéder au Finder, puis sélectionnez Applications dans le panneau de gauche, recherchez ensuite Xcode et vérifiez si son nom est Xcode ou Xcode-Beta

Si le nom est Xcode-Beta, entrez cette commande dans Terminal:

sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer

Si le nom 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 avec la version bêta de Xcode

Merci

Muhammed Irfan
la source
9

Ce problème était dû au répertoire de développement xcode-select pointant vers /Library/Developer, qui ne contenait que le dossier CommandLineTools. À cette fin, le message d'erreur se plaint que le répertoire n'est pas le même que Xcode.

Deux solutions testées:

  1. (Re) Installez Xcode.

  2. Pointez xcode-select vers le répertoire des développeurs Xcode à l'aide de la commande suivante:

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Références:

Comment corriger une erreur telle que "xcode-select: error: l'outil" xcodebuild "nécessite Xcode, mais le répertoire actif des développeurs * BROKEN LINK *

Erreur d'annuaire de développeur actif xcode-select

carlodurso
la source
Le lien 1 est rompu
anki
2

J'ai réinstallé Xcode depuis 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

zinking
la source
1

Il existe également une interface graphique pour modifier le chemin des outils de ligne de commande dans Xcode> Préférences> Emplacements:

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 ancienne copie 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:

Liste déroulante de sélection des outils de ligne de commande

J'ai tendance à choisir l'option GUI si elle est disponible au lieu de copier les sudocommandes de SO.

suite22
la source
0

Si vous utilisez XCode2: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

Faites attention au "\" pour échapper à l'espace.

turibbio
la source
0

Aujourd'hui, j'ai eu ce problème et le problème était que j'utilisais une installation manuelle de xcode et que j'avais le fichier nommé Xcode8.3.2.app au lieu de Xcode.app. Le changement de nom de l'application a résolu le problème de la réclamation xcode-select. Cela semble indiquer que le nom d'application normal est sur son chemin de recherche, mais les variantes ne le sont pas.

AnneTheAgile
la source
-3

AFAIK, les outils de ligne de commande de Mavericks sont installés dans /Applications/Xcode.app/Contents/Developer, ce qui tend à impliquer que Xcode est requis. Fonctionnalité non documentée probablement.

moreaug44
la source