Установка инструментов командной строки Xcode


32

Я выполнил свежую установку macOS Mojave 10.14. Сразу после этого я установил Xcode Version 10.0 (10A255) из Mac App Store.

Теперь я хочу установить Homebrew, который требует установки инструментов командной строки Xcode. Насколько я понимаю, установка XCode также устанавливает инструменты командной строки. Или нет?

Согласно этому ответу , я проверил, установлены ли инструменты командной строки, запустив:

xcode-select -p

который напечатал путь к каталогу разработчика следующим образом:

/Applications/Xcode.app/Contents/Developer

Как предлагается в ответе, я также проверил возвращаемое значение, выполнив:

echo $?

который вернулся 0.

Я также побежал, gccи makeBash смог найти и выполнить их.

До сих пор я убежден, что инструменты командной строки Xcode установлены. Теперь, когда я выполняю:

xcode-select --install

Я получаю это предупреждение:

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

Какова вероятная причина этого неравенства? Будет ли это устанавливать инструменты командной строки Xcode дважды? Или перезаписать существующую установку?

Как я понимаю, инструменты командной строки Xcode можно установить без установки Xcode. Кроме того, из моего предыдущего опыта, если инструменты командной строки не устанавливаются отдельно от XCode (при запуске xcode-select --install), они не обнаруживаются Homebrew, т. Е. При запуске brew configзначение для CLT:отображается как N/A.

Вот полная картина (простите за каламбур):

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

Хотя я говорю в контексте macOS Mojave, вопрос остается прежним в отношении предыдущих версий macOS.

Какой подход рекомендуется использовать здесь?

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

Ответы:


25

Очевидно, есть некоторое различие между инструментами командной строки, установленными для использования XCode, и инструментами, установленными для общесистемного использования:

Для моей машины запуск xcode-select --installи выбор установки инструментов из всплывающего окна помогли решить проблему. Я смог подтвердить, что это было исправлено при запуске brew configи просмотре действительной записи для CLT:

macOS: 10.14-x86_64
CLT: 10.0.0.0.1.1535735448
Xcode: 10.0

1
(комментирует seo) Я здесь, потому что мои gitкоманды терпели неудачу. Этот ответ был исправлением, которое мне нужно было, чтобы заставить gitкоманды работать снова, например git branchи т.д.
Джексонкр

1
Вы также можете выбрать версию XCode для CLT в настройках XCode на вкладке Расположение. Вы увидите множество ссылок в Интернете на вкладку "загрузки", которая больше не существует. Может кто-нибудь пролить свет на то, что на самом деле делает этот выбор в Xcode? Конфигурация brew подтверждает, что у меня установлен CLT, но Qt жалуется, что мне нужен Xcode 5 (да, 5, WTH). Очевидно, этот выбор CLT как-то связан с этим.
Оскар

24

У меня была такая же проблема после обновления до Мохаве. Бег

xcode-select --install

Привело к ошибке

Не удается установить программное обеспечение, так как оно недоступно на сервере обновления программного обеспечения

Загрузка инструментов командной строки с developer.apple.com, наконец, решила проблему.


1
Ссылка была очень полезной developer.apple.com/download/more
Филипп Огенеробо Балогун,

0

Я столкнулся с подобной проблемой, пытаясь установить некоторые пакеты Python (с зависимостью jsonnet), и нашел решение здесь . После запуска;

xcode-select --install

Очевидно, вам все еще нужно установить пакет, что вы можете сделать из терминала;

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Хотя Стивен уже ответил на ваш вопрос, надеюсь, это кому-нибудь поможет!


-2

Загрузка инструментов командной строки с developer.apple.com решила проблему, однако загрузила Инструменты командной строки для Xcode 10.14, а не бета-версию ...

Надеюсь, это решит вашу проблему ...

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