Почему я получаю «неверный путь активного разработчика» при попытке использовать Git после обновления до macOS Catalina?

1515

После обновления до macOS Catalina я попытался запустить gitтерминал, но он продолжал выдавать следующую ошибку:

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

Как мне это исправить?

HouseMD
источник
35
Та же проблема происходит и в OSX Mojave. Я думаю, что точно такая же проблема при каждом обновлении версии. xcode-select --installработает на Мохаве. Никаких дополнительных шагов не требуется.
Мринал Саураб
@MrinalSaurabh, похоже, так и есть.
Housemd
12
Я запускаю команду xcode-select --installи принимаю лицензионное соглашение, но затем система выводит диалоговое окно с сообщением «Не удается установить программное обеспечение, поскольку оно в данный момент недоступно на сервере обновления программного обеспечения». Так что мой мерзавец все еще не работает (проблема началась после обновления до Mojave и XCode 10.1)
nbloqs
6
@nbloqs Я получил то же сообщение и исправил его, загрузив инструменты командной строки вручную. Дополнительная информация: ics.uci.edu/~pattis/common/handouts/macmingweclipse/…
K.Rijpstra
1
Произошло снова с Каталиной. Почему при обновлении системы удаляются средства разработки?!?
Absmiths

Ответы:

2168

Откройте Терминал и выполните следующее:

xcode-select --install

Это загрузит и установит инструменты разработчика xcode и решит проблему.

Вам не нужен XCode, вы можете установить только инструменты командной строки здесь, это около 130 МБ.

Проблема в том, что нужно явно согласиться с лицензионным соглашением. В качестве последующего шага вам может понадобиться сбросить путь к Xcode, если у вас несколько версий или вы хотите, чтобы инструменты командной строки работали без Xcode.

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

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

Может появиться сообщение об ошибке: «Не удается установить программное обеспечение, поскольку оно в данный момент недоступно на сервере обновления программного обеспечения». В этом случае xcode-select --resetработает как указано akozin .

HouseMD
источник
202
Это решение не поможет мне. Я пытался, xcode-select --resetи это помогло!
Акозин
44
помог мне после обновления до macOS High Sierra и попытался запуститьgit status
Felix Geenen
14
Также подумайте, установлен brew updateли он у вас.
Mausy5043
13
Просто решил ту же проблему, когда я перешел с Сьерры на Высшую Сьерру. Я сначала попробую, --resetно это не имело никакого значения. --installрешил это!
iaforek
41
По-прежнему относится к macOS Мохаве! Я думаю, что каждый год я возвращаюсь к этому посту.
Эрик Майерус
72

Если вы не хотите устанавливать или использовать XCode (я не хочу), вы можете установить только командные инструменты для XCode (см. Редактирование)

Предпосылки:

  • у вас есть AppleID

Решение

Перейдите на https://developer.apple.com/download/more/ и найдите инструменты командной строки OS X 10.11) для Xcode 7.1 . Затем установите загруженный пакет .dmg.

Новые версии

Он должен работать с более новыми версиями инструментов командной строки OS X, однако я протестировал его с инструментами командной строки OS X 10.11) для конкретной версии Xcode 7.1 .

Обновление до macOS 10.13

После обновления do macOS 10.13 пришлось установить Command Line Tools (macOS 10.13) for Xcode 9- тоже отлично работает.


редактировать

Как отметил @setholopolus в комментарии,

xcode-select --install

Также устанавливает только инструменты командной строки для XCode.

Вы также можете проверить это по адресу: http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/

Я оставляю свой ответ на случай, если у вас возникнут проблемы с установкой через cli.


PS кредиты на этот SO ответ: https://stackoverflow.com/a/33593066/2029818

michalczukm
источник
2
Чтобы завершить загрузку, вам необходимо войти в систему с помощью Apple ID.
james.garriss
Да. Но для меня это не проблема. Проблема в том, что я не хочу устанавливать полный Xcode. Я
обновлю
2
@michalczukm Я на MacOS 10.12.5 и установил последнюю версию (я думаю, что это был CLT для MacOS 10.12 для XCode 8.3), и он работал нормально. Проблема решена, спасибо.
Марк Симпсон
2
Запуск xcode-select --install, как говорится в другом ответе, не устанавливает Xcode, а только инструменты командной строки.
Setholopolus
4
Для macOS Мохаве, xcode-select --installне работает для меня. Но с 30 июля 2018 года вы можете получить новейшую версию инструментов командной строки для macOS 10.4 (Mojave), войдя в учетную запись Apple Developer.
Agile Bean
42

Для macOS High Sierra , просто запустите ту же команду:

xcode-select --install

и все вернется к работе.

ОБНОВЛЕНИЕ 2019 года: это необходимо для каждой новой версии macOS, поэтому она будет работать и для Каталины.

diegoiglesias
источник
2
Даже когда у меня нет Xcode?
Виталий Зданевич
5
@VitalyZdanevich, который устанавливает xcode;)
minigeek
7
@VitalyZdanevich не устанавливает xcode osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x . Он устанавливает инструменты командной строки без xcode.
Setholopolus
2
-1 Этот ответ от 2017 года просто повторяет то, что объясняется в ответе 2016 года, предоставленном самим ответом, предоставленным оригинальным постером.
JakeGould
26

Вот шаги, которые мне нужно было пройти для Мохаве:

Во- первых xcode-select --reset.

Затем мне нужно было обновить инструменты xcode до последней версии: sudo softwareupdate -ia --verbose(Примечание: здесь запускаются все доступные обновления из магазина приложений, есть способ указать, что вы хотите обновить только одно приложение / программу, но я не знаю, отключен ли он). макушка моей головы).

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

Наконец, убедитесь, что это работает, используя команду git по вашему выбору, например git status.

Эрик Мэдсен
источник
1
да, это решает проблему от Высокой Сьерры до Мохаве. Сразу после этого запуститеsudo xcodebuild -license
user9869932
лицензионный материал является ключом
Гамлетт
19

Я попытался, xcode-select --installно я был вынужден установить его из App Store .

Тогда все мерзавцы работали гладко.

NoelAbey
источник
13

Принятый ответ правильный, но также обратите внимание, что git не делает очевидным, если ошибка исходит от удаленного или локального. Если вы работаете в OS X на пульте дистанционного управления, вашей установки проблема может быть на удаленной стороне , и вы увидите ту же ошибку git cloneи , git pullно не на git status.

mirth23
источник
Боже
11

xcode-select --installи xcode-select --resetне работал на меня.

Мне пришлось загрузить его вручную с сайта разработчиков Apple: https://developer.apple.com/download/

Выберите Командную строку вашей текущей ОС.

Скриншот для ссылки

Штеффи
источник
Пришлось сделать это для Xcode 11b2, который якобы установил инструменты командной строки и все равно столкнулся с этой ошибкой. Переустановка инструментов командной строки сработала.
green_knight