Como corrigir erro do homebrew: "caminho de desenvolvedor ativo inválido" após a atualização para o OS X El Capitan?

105

Eu recebo este erro quando executo 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

Como consertar este problema?

Ranjith Ramachandra
fonte

Respostas:

144

Execute os seguintes comandos para corrigir o erro acima

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

Encontrei a resposta em https://github.com/Homebrew/homebrew/issues/23500

Eu também tive que fazer isso:

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

Devido a alguns problemas de permissão. No entanto, faça isso apenas se for necessário.

Ranjith Ramachandra
fonte
9
Eu tive que adicionar em sudo xcode-select -switch /Library/Developer/CommandLineTools/vez de apenas sudo xcode-select -switch /mas caso contrário isso funcionou muito bem. Não há necessidade de mostrar os arquivos.
TunaMaxx 19/10/2015
Funcionou como um encanto. Muito obrigado pela solução rápida. Tudo isso se deve aos novos recursos de segurança do El Capitan.
Zlatty
Isso funcionou para mim, mas estranhamente, levou alguns minutos depois de fazer isso antes de brew doctorparar de falhar.
Keith Bennett
Esse conselho quase incendiou minha mesa. Meu macbook teve a CPU fixada por 10 minutos. WTF está fazendo isso? A culpa é minha por confiar nos comandos sem entendê-los. Outros sejam avisados. Eu agora parecem ter um bando de zumbis / hidra xcodebuildprocessos
Peter Klipfel
1
E não se esqueça de reiniciar o terminal depois de novas instalações ..
youngrrrr
2

Eu tive esse problema depois de atualizar o macOS para o Mojave (talvez a atualização do sistema operacional possa causar isso).

Para corrigi-lo, eu simplesmente instalei a Xcodepartir da App Store em vez de fazer as coisas da linha de comando.

trusktr
fonte
1

@Ranjith Ramachandra answer, mas eu consegui fazer tudo funcionar apenas executando o comando install com o sudo, portanto, se você tiver permissões modificadas, forçar o root pode ser necessário

sudo xcode-select --install
sc2bigjoe
fonte
Isso pode ter acontecido porque seu caminho estava correto, mas as ferramentas de linha de comando estavam desatualizadas. Que bom que você conseguiu! Mas você realmente precisava usar sudo?
ankii 19/10