Встановлення інструментів командного рядка Xcode


32

Я здійснив нову інсталяцію macOS Mojave 10.14. Відразу після цього я встановив Xcode версії 10.0 (10A255) з магазину додатків Mac.

Тепер я хочу встановити Homebrew, який вимагає встановлення інструментів командного рядка Xcode. Я розумію, що при встановленні Xcode також встановлюються інструменти командного рядка. Чи ні?

Відповідно до цієї відповіді , я перевірив, чи встановлено інструменти командного рядка, запустивши:

xcode-select -p

який надрукував шлях до каталогу розробників таким чином:

/Applications/Xcode.app/Contents/Developer

Як запропоновано у відповіді, я також перевірив повернене значення, запустивши:

echo $?

який відреставрував 0.

Я також бігав, gccі makeбаш міг їх знайти та стратити.

Поки я переконаний, що інструменти командного рядка 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 на вкладці Location. В Інтернеті ви побачите безліч посилань на вкладку "Завантаження", якої більше немає. Чи може хтось пролити світло на те, що насправді робить цей вибір у Xcode? Б'юфі-конфігурація підтверджує, що у мене встановлений CLT, але Qt плаче, що мені потрібно Xcode 5 (так, 5, WTH). Мабуть, цей вибір CLT має щось спільне з цим.
Оскар

24

У мене була та сама проблема після оновлення до Мохаве. Біг

xcode-select - встановіть

Привели до помилки

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

Завантаження інструментів командного рядка з developer.apple.com остаточно вирішило проблему.


1
Посилання було надзвичайно корисним developer.apple.com/download/more
philip oghenerobo balogun

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.