Невозможно использовать xcodebuild на Mavericks с установленными инструментами командной строки

93

Я установил инструменты командной строки:

$ 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? Как мне заставить его работать?

NB. Это при чистой установке 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
Здесь возникает та же проблема, пытаясь построить несколько узловых модулей. Надеюсь, доступно быстрое решение.
rossipedia
Я создал проблему, 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
Мартин Кристманн
1
Может быть, вы правы, просто странно, что в Mountain Lion с установленными инструментами командной строки в этом не было необходимости.
Я полагаю, вы это сделали xcode-select --install. С установленным Xcode xcode-select --print-pathраспечатки/Applications/Xcode.app/Contents/Developer
mb21

Ответы:

65

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

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Хуанан
источник
15
обратите внимание, что речь идет о сборке с установкой инструментов командной строки. Переключившись на Xcode.app, вы строите через Xcode (какой вопрос пытается избежать установки).
bryanmac
23

Похоже, что OSX изменилась и теперь xcodebuildтребует XCodeустановки, хотя раньше она работала должным образом только с установленными инструментами командной строки OSX.

Старый полу-связанный ответ

Многие люди сталкивались с этим с помощью Node. Инструмент сборки Node gypиспользует xcodebuildдля подготовки к компиляции пакетов узлов. Mavericks изменил поведение, xcodebuildтак что он больше не работает должным образом с gyp. В настоящее время это исправляется. См. Проблему node-gyp

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

логанфсмиф
источник
не знаю, почему это связано с узлом, я пытаюсь создать что-то еще с Xcode
zinking
точно, все еще 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-выбором каталог разработчиков , указывающим /Library/Developer, который содержит только папку CommandLineTools. С этой целью сообщение об ошибке жалуется на то, что каталог не совпадает с Xcode.

Два протестированных решения:

  1. (Повторно) Установите Xcode.

  2. Укажите xcode-select в каталоге разработчиков Xcode, используя следующую команду:

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

Ссылки:

Как исправить ошибку типа «xcode-select: error: для инструмента« xcodebuild »требуется Xcode, но активный каталог разработчика * BROKEN LINK *

Ошибка активного каталога разработчика xcode-select

Карлодюрсо
источник
Ссылка 1 не работает
anki
2

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

цинкование
источник
1

Также есть графический интерфейс для изменения пути к инструментам командной строки в Xcode> Preferences> Locations:

Xcode> Настройки> Местоположения

У меня возникла эта проблема после обновления до Xcode 10.3, сохранив старую копию 10.2.1 в подпапке в Applications. Когда я открыл эту панель местоположений, выбор инструментов командной строки был пустым, но я мог выбирать между двумя установленными версиями:

Раскрывающийся список инструментов командной строки

Я предпочитаю использовать параметр GUI, если он доступен, вместо копирования sudoкоманд из SO.

люкс22
источник
0

Если вы используете XCode2: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

Обратите внимание на "\", чтобы выйти из пробела.

Turibbio
источник
0

Сегодня у меня возникла эта проблема, и проблема заключалась в том, что я использовал ручную установку xcode и имел файл с именем Xcode8.3.2.app вместо Xcode.app. Переименование приложения устранило проблему с жалобами на xcode-select. Кажется, это указывает на то, что обычное имя приложения находится на пути поиска, но варианты - нет.

AnneTheAgile
источник
-3

AFAIK, инструменты командной строки в Mavericks устанавливаются в /Applications/Xcode.app/Contents/Developer, что подразумевает, что требуется Xcode. Вероятно, недокументированная функция.

больше
источник