Неможливо використовувати xcodebuild на Mavericks із встановленими інструментами командного рядка


92

Я встановив інструменти командного рядка:

$ xcode-select --print-path
/Library/Developer/CommandLineTools

Однак, коли що-небудь намагається використовувати xcodebuild, я отримую таку помилку:

$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

На Mountain Lion це можна було використовувати, не встановлюючи весь Xcode, а лише інструменти командного рядка. Чи можна це зробити на Mavericks? Як я можу змусити його працювати?

Примітка: Це на чистому встановленні Mavericks.

Оновлення: просто щоб показати, у мене встановлені інструменти командного рядка:

$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

1
Натрапляючи на ту ж проблему тут, намагаючись побудувати деякі вузлові модулі. Сподіваємось, доступний швидкий обхідний шлях.
россіпедія

Я створив випуск, node-gypоскільки це джерело моєї проблеми: github.com/TooTallNate/node-gyp/issues/341

Можливо, вам доведеться встановити Xcode. Ось так виглядає моя gcc --version Налаштована за допомогою: --prefix = / Applications / Xcode.app / Contents / Developer / usr --with-gxx-include-dir = / Applications / Xcode.app / Contents / Developer / Platforms /MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM версія 5.0 (clang-500.2.79) (на основі LLVM 3.3svn) Ціль: x86_64-apple-darwin13. 0.0 Модель нитки: posix
Martin Christmann

1
Можливо, ви маєте рацію, просто дивно, що це не було необхідним у Mountain Lion із встановленими інструментами командного рядка.

Я припускаю, що ти це зробив xcode-select --install. З встановленими xcode-select --print-pathвідбитками Xcode/Applications/Xcode.app/Contents/Developer
mb21

Відповіді:


64

Я знаю, що це пізня відповідь, але в моєму випадку ця команда вирішила проблему:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

14
зверніть увагу, що питання стосується побудови за допомогою інструментів командного рядка встановлення. Переключившись на Xcode.app, ви створюєте за допомогою Xcode (чого питання намагається уникнути встановлення).
bryanmac

23

Схоже, OSX змінився, xcodebuildвимагаючи XCodeвстановлення, де раніше він функціонував належним чином лише з встановленими інструментами командного рядка OSX.

Стара напівпов'язана відповідь

Багато людей стикалися з цим із Node. Інструмент побудови вузла gyp, використовує xcodebuildдля підготовки до компіляції пакетів вузлів. Mavericks змінив поведінку, xcodebuildтак що він більше не працює належним чином gyp. На даний момент це виправлено. Див. Проблему node-gyp

Після того, як зміни будуть розгорнуті в NPM, ви зможете встановити новий node-gypпакет і правильно скомпілювати. Вам також потрібно буде оновити свою версію NPM, як тільки зміни будуть включені до NPM.



точно, як і раніше, xcodebuild запускає помилку, коли ви викликаєте її з командного рядка ... Я фактично завантажив найновіші інструменти командного рядка з веб-сайту розробника
alexserver

16

Спочатку перейдіть до пошуку, далі виберіть Програми на лівій панелі, далі знайдіть Xcode і перевірте, чи називається він Xcode або Xcode-Beta

Якщо ім'я Xcode-Beta, введіть цю команду в терміналі:

sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer

Якщо ім'я Xcode, введіть цю команду:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Сподіваюся, ця відповідь може допомогти користувачам із бета-версією Xcode

Дякую


9

Ця проблема виникла через вказівник каталогу розробника xcode-select /Library/Developer, який містив лише папку CommandLineTools. З цією метою повідомлення про помилку скаржиться на те, що каталог не такий, як Xcode.

Два випробувані рішення:

  1. (Повторно) Встановіть Xcode.

  2. Наведіть xcode-вибір до каталогу розробників Xcode, використовуючи таку команду:

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Список літератури:

Як виправити помилку типу "xcode-select: error: інструмент" xcodebuild "вимагає Xcode, але активний каталог розробника * Зламане посилання *

xcode-select активна помилка каталогу розробника


Посилання 1 порушено
anki

2

Я перевстановив Xcode з App Store, який вирішив цю проблему. Я думаю, моя попередня інсталяція не є повною


1

Існує також графічний інтерфейс для зміни шляху інструментів командного рядка в Xcode> Налаштування> Місцеположення:

Xcode> Налаштування> Місцеположення

У мене виникла ця проблема після оновлення до Xcode 10.3, зберігаючи застарілу копію 10.2.1 у підпапці у програмах. Коли я відкрив цю панель Розташування, вибір інструментів командного рядка був порожнім, але я зміг вибрати між двома встановленими версіями:

Випадаюче меню інструментів командного рядка

Я схильний користуватися опцією графічного інтерфейсу, якщо вона доступна, а не копіювати в sudoкомандах з SO.


0

Якщо ви використовуєте XCode2: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

Зверніть увагу на "\", щоб уникнути простору.


0

Сьогодні у мене виникла ця проблема, і проблема полягала в тому, що я використовував xcode вручну та мав файл із назвою Xcode8.3.2.app замість Xcode.app. Перейменування програми вирішило проблему скарги xcode-select. Здається, це вказує на те, що звичайне ім’я програми знаходиться на шляху пошуку, а варіанти - ні.


-3

AFAIK, інструменти командного рядка в Mavericks встановлюються в /Applications/Xcode.app/Contents/Developer, що, як правило, означає, що потрібен Xcode. Можливо недокументована функція.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.