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

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

$ 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, а не только с помощью средств командной строки. Можно ли это сделать на Маверикс? Как я могу заставить его работать?

N.B. Это находится на чистой установке 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

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

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

Ответ 2

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

Старый полузависимый ответ

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

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

Ответ 3

Сначала перейдите в Finder, затем выберите "Приложения" на левой панели, затем найдите 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

Спасибо

Ответ 4

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

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

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

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

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

Ссылки:

Как исправить ошибку, например 'xcode-select: error: tool ‘xcodebuild требует Xcode, но активная директория разработчика *BROKEN LINK *

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

Ответ 8

Там также GUI, чтобы изменить путь Инструментов командной строки в Xcode> Предпочтения> Местоположения:

Xcode > Preferences > Locations

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

Command Line Tools selection dropdown

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

Ответ 9

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