Ответ 1
Я знаю, что это поздний ответ, но в моем случае эта команда решила проблему:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Я установил средства командной строки:
$ 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
Я знаю, что это поздний ответ, но в моем случае эта команда решила проблему:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Похоже, что OSX изменил xcodebuild
, чтобы потребовалось установить XCode
, где до того, как он правильно работал, только с установленными инструментами командной строки OSX.
Многие сталкивались с этим с помощью Node. Node инструмент сборки gyp
использует xcodebuild
для подготовки к компиляции пакетов Node. Mavericks изменил поведение xcodebuild
, так что он больше не работает с gyp
. Это фиксируется в настоящий момент. Смотрите проблему node -gyp
Как только изменения будут развернуты в NPM, вы сможете установить новый пакет node-gyp
и правильно скомпилировать. Вам также потребуется обновить версию NPM после внесения изменений в NPM.
Сначала перейдите в 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
Спасибо
Эта проблема была связана с тем, что каталог разработчика xcode-select указывает на /Library/Developer
, который содержит только папку CommandLineTools
. С этой целью сообщение об ошибке жалуется на то, что каталог не совпадает с Xcode.
Два проверенных решения:
(Пере) установить Xcode.
Укажите xcode-select на каталог разработчиков Xcode, используя следующую команду:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Ссылки:
Как исправить ошибку, например 'xcode-select: error: tool ‘xcodebuild требует Xcode, но активная директория разработчика *BROKEN LINK *
Я переустановил Xcode из App Store, который решил эту проблему. Я предполагаю, что моя предыдущая установка не завершена.
Если вы используете XCode2: sudo xcode-select --switch/Приложения/Xcode\2.app/Contents/Developer
Обратите внимание на "\", чтобы избежать пробела.
Сегодня у меня была эта проблема, и проблема в том, что я использовал ручную установку xcode и имел файл с именем Xcode8.3.2.app вместо Xcode.app. При переименовании приложения исправлена проблема с выбором xcode-select. Это, по-видимому, указывает, что обычное имя приложения находится на пути поиска, но вариантов нет.
Там также GUI, чтобы изменить путь Инструментов командной строки в Xcode> Предпочтения> Местоположения:
У меня просто была эта проблема после обновления до Xcode 10.3 при сохранении более старой копии 10.2.1 в подпапке в Applications. Когда я открыл эту панель "Местоположения", выбор инструментов командной строки был пустым, но я мог выбирать между двумя установленными версиями:
Я склонен использовать опцию GUI, если она доступна, вместо копирования в команды sudo
из SO.
AFAIK, инструменты командной строки в Mavericks устанавливаются в /Applications/Xcode.app/Contents/Developer, который имеет тенденцию подразумевать, что требуется Xcode. Вероятно, недокументированная функция.