Как исправить ошибку homebrew: «неверный путь активного разработчика» после обновления до OS X El Capitan?

106

Я получаю эту ошибку при запуске 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

Как исправить эту проблему?

Ранджит Рамачандра
источник

Ответы:

145

Выполните следующие команды, чтобы исправить вышеуказанную ошибку

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

Я нашел ответ на https://github.com/Homebrew/homebrew/issues/23500

Я также должен был сделать это:

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

Из-за некоторых проблем с разрешениями. Тем не менее, делайте это только если вам нужно.

Ранджит Рамачандра
источник
10
Я должен был добавить sudo xcode-select -switch /Library/Developer/CommandLineTools/вместо просто, sudo xcode-select -switch /но в остальном это работало отлично. Нет необходимости для меня, чтобы разбить файлы, хотя.
TunaMaxx
Работал как шарм. Большое спасибо за быстрое исправление. Похоже, все это благодаря новым функциям безопасности El Capitan.
Златты
Это сработало для меня, но, как ни странно, прошло несколько минут после того, как я brew doctorперестал работать.
Кит Беннетт
Этот совет почти поджег мой стол. В моем macbook процессор был закреплен на 10 минут. WTF это делает? Я виноват в том, что доверяю командам, не понимая их. Остальные должны быть предупреждены. Теперь я , кажется, есть куча зомби / Hydra xcodebuildпроцессов
Питер Klipfel
1
И не забудьте перезапустить терминал после любой новой установки ..
youngrrrr
2

Я получил эту проблему после обновления macOS до Mojave (может быть, обновление ОС может вызвать это).

Чтобы это исправить, я просто установил Xcodeприложение из App Store вместо того, чтобы делать что-то из командной строки.

trusktr
источник
1

@Ranjith Ramachandra ответ, но я смог заставить все работать, только запустив команду установки с sudo, так что если у вас есть измененные разрешения, может потребоваться принудительное использование root

sudo xcode-select --install
sc2bigjoe
источник
Это может быть потому, что ваш путь был правильным, но инструменты командной строки устарели. Приятно, что ты это сделал! Но вам действительно нужно использовать sudo?
анки