Comment corriger l'erreur homebrew: «chemin de développeur actif non valide» après la mise à niveau vers OS X El Capitan?

106

Je reçois cette erreur quand je cours brew update:

$ brew update
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Error: Failure while executing: git checkout -q master

Comment résoudre ce problème?

Ranjith Ramachandra
la source

Réponses:

145

Exécutez les commandes suivantes pour corriger l'erreur ci-dessus

sudo xcode-select --install
sudo xcode-select -switch /

J'ai trouvé la réponse sur https://github.com/Homebrew/homebrew/issues/23500

Je devais aussi faire ceci:

sudo chown -R $(whoami):admin /usr/local

En raison de problèmes de permission. Cependant, ne le faites que si vous devez le faire.

Ranjith Ramachandra
la source
10
J'ai dû ajouter sudo xcode-select -switch /Library/Developer/CommandLineTools/au lieu de juste sudo xcode-select -switch /mais sinon, cela a très bien fonctionné. Pas besoin pour moi de chown les fichiers cependant.
TunaMaxx
Travaillé comme un charme. Merci beaucoup pour la solution rapide. Tout cela semble être dû aux nouvelles fonctionnalités de sécurité d'El Capitan.
Zlatty
Cela a fonctionné pour moi, mais étrangement, cela a pris quelques minutes après cela avant d' brew doctorarrêter d'échouer.
Keith Bennett
Ce conseil a presque mis le feu à mon bureau. Mon MacBook a eu le processeur bloqué pendant 10 minutes. WTF fait-il cela? Ma faute pour avoir confiance en des commandes sans les comprendre. Les autres soient prévenus. Je semble maintenant avoir un tas de xcodebuildprocessus zombie / hydra
Peter Klipfel
1
Et n'oubliez pas de redémarrer le terminal après chaque nouvelle installation ..
youngrrrr
2

J'ai eu ce problème après la mise à jour de macOS vers Mojave (peut-être que la mise à jour du système d'exploitation peut causer cela)

Pour résoudre ce problème, j'ai simplement installé à Xcodepartir de l'App Store au lieu de faire les commandes en ligne de commande.

trusktr
la source
1

@Ranjith Ramachandra répond, mais j'ai pu tout faire en exécutant la commande install avec sudo. Par conséquent, si vous disposez d'autorisations modifiées, il peut être nécessaire de forcer root.

sudo xcode-select --install
sc2bigjoe
la source
Cela pourrait être dû au fait que votre chemin était correct, mais que les outils de ligne de commande étaient obsolètes. Bien que tu l'aies fait! Mais avez-vous vraiment besoin d'utiliser sudo?
Ankii