Git не работает после обновления MacOS (xcrun: ошибка: неверный путь активного разработчика (/ Library / Developer / CommandLineTools)


1585

Я обновился до MacOS Mojave (это происходит и с обновлением Catalina).

Этим утром я перешел на кодовую базу моей работы в командной строке на MacBook Pro, набрал «git status» в репозитории и получил ошибку:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

3
Была такая же проблема. Принятый ответ решил и меня. В: Должен ли перейти на портал macos / apple?
Huch

2
Это скорее проблема git, чем проблема macOS.
пылесборник

2
Возможный дубликат apple.stackexchange.com/questions/254380/…
markroxor

2
Должен быть лучший способ. Постоянно обновлять xcode очень сложно с обновлением macOS.
royalghost

Я должен был сделать это, чтобы заставить "сделать" работать после обновления до Каталины. Так что я думаю, что это проблема MacOS, а не проблема мерзавца.
Питер Б.

Ответы:


2692

Проблема в том, что инструменты командной строки Xcode необходимо обновить.

Вернитесь к своему терминалу и нажмите:

xcode-select --install

Затем вы получите:

xcode-select: note: install requested for command line developer tools

В этой точке вам будет предложено обновить инструменты командной строки Xcode. (что может занять некоторое время)

откройте новое окно терминала и ваши инструменты разработки должны быть возвращены.

Дополнение. При любом крупном или полуосновном обновлении вам нужно будет обновить инструменты командной строки, чтобы они снова функционировали должным образом. Проверьте Xcode с любым обновлением. Это выходит за рамки Мохаве ...

После этого перезапустите свой терминал


45
Это исправило проблему с кодом Microsoft Visual Studio, которая жаловалась на то, что Git не был установлен, когда я впервые запустил его после обновления до Mojave. Я думал, что проблема была VS Code, но это была проблема в этом вопросе SO. Перезапуск VS Code после установки Инструментов командной строки Xcode решил проблему.
Марк

159
Я хотел бы, чтобы обновление Xcode было частью обновления ОС. Нечто подобное происходит каждый раз, когда я обновляюсь. Раздражает.
mvndaai

6
Определенно раздражает, хотя. Простую проверку установки Xcode, а затем обновление во время обновления ОС было бы довольно просто добавить. Это всегда что-то с этими обновлениями ОС от Apple. Вы могли бы подумать, что они уже поняли это.
zgr024

14
Для тех, кто использует Git в PHPStorm; вам нужно перезапустить PHPStorm после запускаxcode-select --install . Тогда это сработает.
Даан ван ден Берг

57
Это решение работает для меня и для Mac Catalina update. Superb !!!
Шахназ Хан

122

Я получил некоторые ошибки, что программное обеспечение было недоступно с сервера обновлений при попытке

xcode-select --install

То, что исправило это для меня, собиралось здесь https://developer.apple.com/download/more/ и загружало Command Line Tools (macOS 10.14) for Xcode 10и затем устанавливало это вручную.

После этого ошибки должны исчезнуть при открытии нового терминала.


10
Это должен быть правильный ответ, попробованный на 3 машинах, и ответ @dustbuster больше не работает, и он показывает, что «программное обеспечение было недоступно с сервера обновлений при попытке»
user2577923

2
Для меня это заканчивается software not available at serverтем, что ответ @ High6 ниже работает. xcode-select --reset
briankip

загрузка Command Line Tools (macOS 10.14) for Xcode 10.1по ссылке. Спасибо!
Ксавье Охеда Агилар

Если xcode установлен, все еще были проблемы. Это работает как шарм ... должен быть выбранный ответ. Или должно быть приложение к началу ответа.
AmitM

1
Это также работает для macOS 10.15.2. Хотя я должен был выбрать Command Line Tools for Xcode 11.3, так как Xcode 10.1 не был доступен
Рэйчел Лэнман

88

Для меня xcode-select --resetбыло решение о Мохаве.


6
каким-то образом «xcode-select --install» заканчивается программным обеспечением, недоступным на сервере. Но этот работает
Ян Чжу

Это сработало для меня, я выполнил эту команду после установки нового Xcode.
Sunho Hong

2
Я только что обновил Mac OS X 10.14 (Mojave) до MacOS 10.15 (Catalina) и столкнулся с этой проблемой, это решение работало нормально, запускать не нужно было xcode-select --install.
OJVM

1
работает для меня на Каталина , как хорошо, но нужно добавитьsudo
GAFI

sudo xcode-select --resetработал для меня на модернизацию Мохаве -> Каталина MacOS
Крис Гиллат

67

В дополнение к ответу dustbuster мне нужно было указать путь к папке Xcode с помощью этой команды:

sudo xcode-select -switch /Library/Developer/CommandLineTools

1
Да, то же самое для меня, @dustbuster может быть хорошей идеей объединить эти ответы.
Джеймс

Хорошо, этот решил это для меня. Пробовал xcode-select --installи скачивал и устанавливал вручную, ни одно из решений не сработало. Обратите внимание, что я ждал и обновился до версии 10.14.1.
mpiktas

Если у вас установлен Xcode, вам не нужно устанавливать отдельные инструменты командной строки . Просто убедитесь, что вы запустили xcode-select --switch /Applications/Xcode.app/Contents/Developerили xcode-select --resetоколо того Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
легкомысленность

43

Я использовал xcode-select --installданные в принятом ответе в предыдущих основных выпусках.

Я только что обновился до OS X 10.15 Catalina и снова запустил инструмент обновления программного обеспечения из настроек после завершения обновления ОС. Там было доступно обновление утилит Xcode, которое также решало проблему с помощью git, который только что вывел xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)


Если у вас установлен Xcode, вам не нужно устанавливать отдельные инструменты командной строки . Просто убедитесь, что вы запустили xcode-select --switch /Applications/Xcode.app/Contents/Developerили xcode-select --resetоколо того Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
10

40

Для меня сработало следующее:

sudo xcode-select --reset

Тогда как в ответе @ High6:

sudo xcodebuild -license

Это покажет лицензию, которую я предполагаю, является некоторой лицензией XCode. Прокрутите вниз, используя space(или мышь), затем нажмитеagree .

Это то, что у меня работало на MacOS Mojave v 10.14.


Ваше решение сработало для меня на MacOS 10.13 High Sierra. Спасибо.
Даниил

Если у вас установлен XCode , это правильное решение. Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
10

34

в моем случае это не было проверено в xcode После процесса установки,

Вы можете сделать это следующим образом: xcode -> Preferences и нажмите Locations, затем выберите, как следующее изображение

введите описание изображения здесь


Это исправляет пару пунктов, но не все
Murwa

У меня были Xcode 10.3, 11.1 и 11.2, и Xcode не смог выяснить, какую версию использовать для инструментов командной строки, и оставил выпадающий список пустым. Как только для моей цели был выбран 11.1, команды git начали работать.
Чандана Киталагама

Это всплывающее окно эквивалентно вызову xcode-select --switchс путем к пакету XCode любой версии, которую вы выбираете здесь, кстати.
10

Хороший намек спасибо, как бы то ни было, главное - решить проблему
таха

Это работает для меня .. Большое спасибо. У меня была старая и новая версия Xcode в разных местах.
iGW

30

Я выяснил часть Инструментов командной строки XCode из сообщения об ошибке, но после запуска XCode и получения приглашения установить дополнительные инструменты он действительно требовал их установки, но все же я получил ту же ошибку после открытия нового терминала.

Так что я сделал xcode-select --installвручную, и после этого это сработало для меня.


Если у вас установлен Xcode, вам не нужно устанавливать отдельные инструменты командной строки . Просто убедитесь, что вы запустили xcode-select --switch /Applications/Xcode.app/Contents/Developerили xcode-select --resetоколо того Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
распутство

27

Открытый терминал:

установите инструменты разработчика XCode и исправьте проблему.

$ xcode-select --install

Сбросьте путь к Xcode, если у вас есть несколько версий:

$ xcode-select --switch /Applications/Xcode.app
$ xcode-select --switch /Library/Developer/CommandLineTools

Если у вас установлен Xcode, вам не нужно устанавливать отдельные инструменты командной строки . Просто убедитесь, что вы запустили xcode-select --switch /Applications/Xcode.app/Contents/Developerили xcode-select --resetоколо того Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
10

Кроме того, нет смысла делать оба вызова xcode-select --switchвыше. Второй перезаписывает то, что сделал первый. Сделайте первый, и ваши инструменты командной строки обновятся как часть Xcode.
10

23

После обновления до Mac Catalina я столкнулся с той же проблемой, мне пришлось выполнить несколько команд, чтобы исправить это.

Сначала начали с:

xcode-select --install

Это не решило проблему, пришлось запустить следующее в sudo

sudo xcode-select --reset

Затем, наконец, исправился после того, как я переключился и явно установил путь для активной директории разработчика:

sudo xcode-select -s /Library/Developer/CommandLineTools

Примечание: если вы Xcodeустановили, вам может потребоваться указать Xcodeкаталог, в этом случае это должно быть что-то вроде этого

xcode-select -s /Applications/Xcode.app


Если у вас установлен Xcode, вам не нужно устанавливать отдельные инструменты командной строки . Просто убедитесь, что вы запустили xcode-select --switch /Applications/Xcode.app/Contents/Developerили xcode-select --resetоколо того Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
10

22

Если у вас есть XCode, загруженный вручную (т.е. не из App Store), или у вас вообще нет XCode:

  1. sudo rm -rf /Library/Developer/CommandLineTools
  2. Перейдите на https://developer.apple.com/download/more/. чтобы загрузить инструменты командной строки (macOS 10.14) для Xcode 10
  3. Инструменты настройки командной строки

Если у вас установлен Xcode из App Store:

  1. xcode-select --install

Я хочу установить только инструменты командной строки, а не Xcode. Это решение кажется лучшим. Минимальная установка
мифический

Идеально для меня, так как мне не нужен Xcode, но мне нужен Git :)
Райан Амарал

17

На Mac OS X Catalina следующее работало просто отлично

xcode-select --install

После этого появилось приглашение UI, которое завершило установку инструментов.


1
Если у вас установлен Xcode, вам не нужно устанавливать отдельные инструменты командной строки . Просто убедитесь, что вы запустили xcode-select --switch /Applications/Xcode.app/Contents/Developerили xcode-select --resetоколо того Терминал будет использовать инструменты командной строки внутри XCode вместо тех, которые установлены автономным установщиком «Инструменты командной строки». С этого момента App Store будет автоматически обновлять Xcode, и ваши инструменты будут оставаться актуальными.
10

12

Вернитесь к терминалу и выполните -

xcode-select --install

после этого -

xcode-select: note: install requested for command line developer tools

после этого перезапустите терминал.


6

Для меня у меня не было установлен xcode (на Mojave OS). Я зашел в App Store на своем Mac и скачал его, затем вернулся в терминал, набрал gitи нажал Enter, потом все заработало.


6

Это работает для меня

sudo xcode-select --reset 
sudo xcodebuild -license

X-код должен быть установлен.


5

Я обнаружил, что моя версия XCode слишком устарела, и установка инструментов командной строки не помогла. Вот что я сделал:

  • Я полностью удалил устаревший XCode
  • Я переустановил самый последний XCode из магазина приложений
  • Это все. Git был восстановлен.


3

Для тех, кто использует Catalina и Xcode-beta:

sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer

3

Для меня это произошло после обновления Mac OS до Mojave и git не работал в Intellij

Решение: - Зайдите в Настройки, затем Файл | Настройки | Контроль версий | Git и редактируйте исполняемое поле Path to Git, которое является / usr / local / bin / git


3

Я заметил в настройке конфиденциальности Catalina, если Xcode не добавлен на диск с полным доступом, я получу ту же ошибку, Xcode не запускает сценарии. Добавьте свой Xcode так же, как на прикрепленном изображении. После этого чистая сборка и запуск. Надеюсь так получится. Безопасность и конфиденциальность


Это была проблема с моей андроид-студией. Спасибо!
KMC

Вы спасли мой день! У меня возникла проблема с тех пор, как я переехал в Каталину, все еще используя Xcode 10.3.1
Psykie

0

Если по какой-либо причине вам не нужно XCode или вам пришлось удалить его, например, в ситуации, когда вам нужно было освободить место на диске, чтобы выполнить обновление, просто установите XCode из App Store. Как только это будет сделано, и когда вы запустите это в первый раз, Xcode спросит вас, хотите ли вы установить компоненты, нажмите, Installи это также исправит проблему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.