macOS: xcode-select — active developer directory is not valid

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

Ошибка «active developer directory is not a valid developer directory» возникает, когда xcode-select указывает на отсутствующий или перемещённый Xcode. Посмотрите путь командой xcode-select -p, укажите существующий Xcode через -s или сбросьте путь, затем примите лицензию.

В этой статье
  1. Чем отличается от ошибки xcrun
  2. Частые причины
  3. Пошагово
active developer directory is not valid
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
По-русскиxcodebuild не может найти полноценный Xcode.

#Чем отличается от ошибки xcrun

Некоторым задачам (xcodebuild, симуляторам iOS и сборке проектов Apple) действительно требуется полный Xcode; простым командам Git или clang часто достаточно Command Line Tools. Выберите нужный инструмент после проверки исходной ошибки, а не устанавливайте Xcode для любого сообщения xcode-select.

#Частые причины

Возможная причинаКак узнатьЧто делать
Путь на CLTУстановлены только инструменты командной строки.xcode-select -p показывает /Library/Developer/CommandLineTools.Установите Xcode и переключите путь.
Xcode удалён или переименованПуть указывает на несуществующую папку.Ошибка «invalid developer directory».Укажите новый путь через -s.
Несколько версий (beta)Системный путь указывает на удалённую бету.Сборка не находит SDK.Переключите на стабильную версию или используйте DEVELOPER_DIR.
Лицензия не принятаПосле обновления Xcode.«You have not agreed to the Xcode license».sudo xcodebuild -license accept.
Xcode на внешнем дискеДиск не подключён.Путь недоступен.Подключите диск или переключитесь на внутреннюю копию.
Нужны дополнительные компонентыНе завершена первая настройка.Ошибки при запуске симулятора.xcodebuild -runFirstLaunch.

#Пошагово

  1. Посмотрите активный путьОткройте «Терминал» в macOS и выполните xcode-select -p. Если команда отвечает invalid active developer path, запишите путь, указанный в тексте; возможно, он остался от удалённого Xcode или обновления macOS. Если путь существует, проверьте доступ и версию инструментов, прежде чем менять выбор; команда ничего не исправляет и безопасна для диагностики.
  2. Найдите установленный XcodeОткройте Finder → «Программы» и найдите Xcode. Если его нет, выполните в Терминале ls -d /Applications/Xcode*.app 2>/dev/null или поиск Spotlight. Переименованные версии и Xcode beta могут находиться в другом месте, поэтому путь для xcode-select нельзя предполагать. Проверьте существование Contents/Developer в найденном приложении.
  3. Укажите егоЕсли полный Xcode установлен, выполните sudo xcode-select -s /Applications/Xcode.app/Contents/Developer, подставив реальное расположение Contents/Developer. Для команды нужен пароль администратора; при вводе символы не показываются. Затем xcode-select -p должен показать выбранный каталог. Если Xcode отсутствует, используйте xcode-select --install для отдельных Command Line Tools вместо указания несуществующей папки.
  4. Примите лицензиюЕсли при запуске xcodebuild macOS пишет, что нужно принять лицензию, в Терминале с правами администратора выполните sudo xcodebuild -license accept. Этот шаг нужен для полного Xcode, не для любой ошибки xcode-select. После успешного выполнения вновь запустите xcodebuild -version. Не вводите пароль в командную строку и не принимайте лицензию за другого пользователя без полномочий.
  5. Выполните первоначальную настройкуЕсли Xcode установлен впервые и просит первоначальную настройку, запустите приложение Xcode обычным способом и дождитесь предложенной установки дополнительных компонентов. Только если документация используемой версии требует командный запуск, администратор может выполнить sudo xcodebuild -runFirstLaunch. Это изменяет системную установку и не требуется для простой команды git при отдельных CLT.
  6. Проверьте версиюВ Терминале выполните xcodebuild -version для полного Xcode или xcrun --find clang для Command Line Tools. Успех — информация о версии/путь к clang; если ошибка повторилась, выполните xcode-select -p и проверьте, что выбранный каталог существует. Повторите исходную команду проекта в том же терминале и сохраните полный вывод при неудаче.
  7. Если Xcode не установленЕсли Xcode вообще не установлен и действительно нужен для вашего проекта, откройте Mac App Store, найдите Xcode от Apple и проверьте совместимость с установленной macOS. Для простого Git, clang или Homebrew часто достаточно Command Line Tools (xcode-select --install) — полный Xcode не обязателен. Скачивайте дистрибутивы только из App Store или на сайте Apple Developer, учитывая размер и свободное место.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Активный путь и версия
    Linux · Терминал (Bash)Команда
    Активный путь и версия
    xcode-select -p
    xcodebuild -version
    Вариант 2Все копии Xcode на диске
    Linux · Терминал (Bash)Команда
    Все копии Xcode на диске
    mdfind "kMDItemCFBundleIdentifier == 'com.apple.dt.Xcode'"
    ls -d /Applications/Xcode*.app 2>/dev/null
    Вариант 3Команды лицензии и runFirstLaunch выполняются только при соответствующих сообщениях, не вместе автоматически
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Команды лицензии и runFirstLaunch выполняются только при соответствующих сообщениях, не вместе автоматически
    # Выберите только одну действительную установку Xcode (путь примерный)
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    # Проверьте, что путь правильный
    xcode-select -p

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

    Вариант 4Переключатель для конкретной команды без смены системного пути (переменная окружения)
    Linux · Терминал (Bash)Команда
    Переключатель для конкретной команды без смены системного пути (переменная окружения)
    DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer xcodebuild -version
    Вариант 5Симуляторы, доступные в выбранном Xcode
    Linux · Терминал (Bash)Команда
    Симуляторы, доступные в выбранном Xcode
    xcrun simctl list devices available | head -20

Для Homebrew, Python-расширений и обычных сборок полный Xcode не нужен: достаточно Command Line Tools. Если вы не разрабатываете под iOS и macOS, верните путь на CLT командой sudo xcode-select -s /Library/Developer/CommandLineTools, а необходимость в Xcode отпадёт.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.