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.