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

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

person Community    schedule 26.10.2013    source источник
comment
Здесь вы столкнулись с той же проблемой, пытаясь собрать несколько узловых модулей. Надеюсь, доступно быстрое решение.   -  person rossipedia    schedule 27.10.2013
comment
Я создал проблему на node-gyp, поскольку это источник моей проблемы: github.com/TooTallNate/ узел-gyp / issues / 341   -  person    schedule 28.10.2013
comment
Возможно, вам нужно установить 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   -  person Martin Christmann    schedule 28.10.2013
comment
Может быть, вы правы, просто странно, что в Mountain Lion с установленными инструментами командной строки в этом не было необходимости.   -  person    schedule 28.10.2013
comment
Я полагаю, вы сделали xcode-select --install. С установленным Xcode xcode-select --print-path печатает /Applications/Xcode.app/Contents/Developer   -  person mb21    schedule 03.11.2013


Ответы (9)


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

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

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

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

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

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

person loganfsmyth    schedule 19.12.2013
comment
не знаю, почему это связано с узлом, я пытаюсь создать что-то еще с Xcode - person zinking; 04.07.2014
comment
точно, все еще xcodebuild выдает ошибку, когда вы вызываете его из командной строки ... Я действительно загрузил последние инструменты командной строки с веб-сайта разработчика Apple developer.apple.com/downloads/index.action# - person alexserver; 28.07.2014

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

Спасибо

person Muhammed Irfan    schedule 22.05.2015

Эта проблема возникла из-за того, что xcode-select каталог разработчика указывает на /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 ССЫЛКА *

ошибка активного каталога разработчика при выборе xcode

person carlodurso    schedule 12.11.2014
comment
Ссылка 1 не работает - person ; 18.08.2019

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

person zinking    schedule 04.07.2014

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

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

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

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

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

person suite22    schedule 28.08.2019

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

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

person turibbio    schedule 27.01.2016

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

person AnneTheAgile    schedule 24.04.2017

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

person moreaug44    schedule 22.11.2013