помилка вибору активного розробника xcode-select


681

Побачила таку помилку при запуску npm installпотрібної node-gyp... але може бути спровокована будь-чим, що вимагає xcode-select.

xcode-select: error: інструмент 'xcodebuild' вимагає Xcode, але активний каталог розробників '/ Library / Developer / CommandLineTools' - це екземпляр інструментів командного рядка

В чому проблема?


5
Працює і для YOSEMITE
tjmehta

12
Працює і для Ель-Капітана
тобтомехта

6
Працює і для Сьєрри
tjmehta

5
Працює і для Високої Сьєрри
tjmehta

6
Працює і для Мохаве
Zohair

Відповіді:


1289

Ця проблема виникає тоді, коли xcode-selectвказував каталог розробника /Library/Developer/CommandLineTools, коли потрібен повний регулярний Xcode (трапляється, коли CommandLineTools встановлюється після Xcode)

Рішення:

  1. Встановіть Xcode (отримайте його з https://appstore.com/mac/apple/xcode ), якщо у вас його ще немає.
  2. Прийміть Загальні положення та умови.
  3. Переконайтеся, що додаток Xcode знаходиться в /Applicationsкаталозі (НЕ /Users/{user}/Applications).
  4. Вкажіть xcode-selectна каталог розробників програми Xcode за допомогою наступної команди:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Примітка. Переконайтесь, що шлях для програми Xcode правильний.

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode-beta: /Applications/Xcode-beta.app/Contents/Developer

@qodeninja Тоді /Applications/Xcode5-DP4.appя б припустив замінити правильним шляхом.
Макс Нанасі

@MaxNanasy я маю на увазі це очевидно. Але ні, що не працювало. Мені довелося видалити та перевстановити xcode, щоб він знову працював
qodeninja

9
З бета-версією Xcode 6 це спрацювало. Дякую! sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/
jpincheira

1
Мені не потрібно було робити крок 2. Встановлення Xcode було достатньо. :)
Ryan Heathcote

11
macOS High Sierra 10.13 , у мене вже був встановлений Xcode 9.2 і зіткнувся з тією ж проблемою після встановлення карфагену . Щойно зробив крок 4, і це все!
RAM237

162

Інше рішення для тих, хто не хоче встановлювати Xcode:

  1. Встановіть інструменти командного рядка (якщо ви ще цього не зробили):

    xcode-select --install

  2. Змінення активного каталогу:

    sudo xcode-select -switch /Library/Developer/CommandLineTools

Це працювало для мене (git).


23
Я вважаю за краще це рішення встановити Xcode, однак, схоже, ви більше не можете завантажувати xcode-selectз Apple: cl.ly/image/2T0u2f2D471a/content

6
Я думаю, у мене вже встановлені інструменти командного рядка, тому це нічого не виправить.

6
Отже, це єдиний спосіб отримати придатний xcodebuildдля встановлення весь Xcode? :-(

50
Ця відповідь здається неправильною . Вся справа в тому, що для 'xcodebuild' потрібен Xcode , тобто повна інсталяція Xcode, а також CommandLineTools. Тестуючи його тут, перехід на CommandLineTools не зупиняє помилку, а також не буде.
mikemaccana

21
Ця відповідь більше не є правильною. З травня 2015 року при використанні інструментів командного рядка для OSX 10.10 (Yosemite) команда xcodebuild більше не функціонує без встановленого повного xcode.
HipsterZipster

151

У мене виникла проблема під час спроби встановлення пакетів за допомогою npm. Я отримав помилку: "sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/"

Щоб виправити це

  • Я відкрив Xcode.
  • Вподобання
  • Місцеположення
  • Вибрані інструменти командного рядка: Xcode 6.1.1

Тепер при установці пакетів з npm я більше не отримую помилок.


1
Виправлена ​​установка Robo VM.
Сенсей

106

Xcode-> Preferences-> Locations-> інструменти командного рядка

скріншот

Виберіть варіант: Xcode 8.x


1
Клацніть на посилання і подивіться на зображення. Рішення цієї проблеми не є складним.
FranklinA

Я встановив 8 версій xcode, які роблять і видають, але вищезгадана вирішить мою проблему. Ви - рятувальник життя;)
ахсан

Це єдине, що працювало для мене, коли я намагався встановити 2 версії XCode. Намагаються xcode-selectговорити "помилка: недійсна директорія розробника"!
mc01

Це було потрібне мені рішення. Не впевнений, чому цей параметр Інструменти командного рядка не встановлено. Але як тільки я його встановив, це вирішило мою проблему. Дякую.
jdavis

50

Просто запустіть, sudo xcode-select -rякий повинен автоматично скинути шлях.

 -r, --reset
              Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism. This command must  be
              run with superuser permissions (see sudo(8)), and will affect all users on the system.

цікаво, що станеться, якщо я видалив xcode та дотримувався вищезазначених кроків, оскільки я встановив CLI після xcode. Чи буде це заплутати мої існуючі проекти додатків IOS?
Гель

Це працювало для мене на OSX 10.14.4 з xcode 11.3.1
Рафаель Хан

10

На всякий випадок, якщо ви використовуєте бета-версію xcode:

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer

8

Мені довелося запустити це першим

sudo xcode-select --reset

тоді

sudo xcode-select -switch /Library/Developer/CommandLineTools

а потім це спрацювало.


5
Для мене проблема була виправлена ​​після запуску першої команди. Виконання другої команди знову зламало речі. Так що тільки перший (в моєму випадку). Дякую.
Нейт

По-друге, що якраз --reset
Пітер Ламберг,

7
  1. Завантажте Xcode з App Store.

  2. Перейдіть до налаштувань Xcode / Locations / CommandlineTools

    Вам просто потрібно встановити його на версію Xcode. Він автоматично вказує на "/Application/Xcode.app"


3

Встановіть Xcode з App Store. Після встановлення запустіть xcodebuild з привілеями root, тобто sudo xcodebuildприйняти мову. Після цього npm install bcryptспрацювало як шарм!


3

Без Xcode: створити файл /usr/local/bin/xcodebuildіз вмістом, щоб обдурити XcodeSelect

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild


Треба сказати, що у мене виникають проблеми з node-gyp з якоїсь причини, xcodebuildколи у мене встановлено лише CLT. Я вважаю за краще не встановлювати Xcode просто для того, щоб встановити деякі вбудовані розширення, що не мають нічого спільного з розробкою Mac та iOS, тому я дуже готовий до спроб цієї методики в основному просто закрити помилку. Чи знаєте ви, чи є якісь наслідки цього? Я можу лише уявити, що node-gyp s викликає xcodebuildпричину, і, роблячи, exit 0ми порушуємо ланцюжок інструментів для даної збірки, але я не впевнений, тому що я не знаю, чому це буде використовуватись xcodebuildу першість. Будь-які ідеї?
alexrussell

1
Я спробував це, на жаль, це не мало значення. Я дуже не хочу встановлювати XCode - це лише якийсь маркетинг Apple BS, щоб змусити вас його встановити.
Олексій

2

Якщо ви використовуєте бета-версію Xcode, запустіть

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

замість

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

2

Мені вдалося вирішити цю помилку, не встановивши повну програму Xcode. Однак у вас повинні бути встановлені інструменти командного рядка xcode.

Від сюди :

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (Резервна копія про всяк випадок)
  3. $ vim xcodebuild
  4. Вставте наступне:
#!/bin/bash
if [[ $1 == '-version' ]]; then
  echo "Xcode 10.2.1"
  echo "Build version 10E1001"
else
  /usr/bin/xcodebuild.bak $@
fi
  1. $ sudo chmod +x xcodebuild

Гарна відповідь. Також вдячні за посилання на першоджерело. :)
Мономет

1

XCode2: sudo xcode-select -s / Програми / Xcode \ 2.app/Contents/Developer

Зверніть увагу на "\", щоб уникнути місця


1

У мене було два екземпляри встановлених Xcode xcode.app та xcode-beta.app. Коли я намагався створити збірку з netbeans, він показав мені помилку: "підтримувана версія xcode та інструментів командного рядка не знайдена netbeans"

Я дотримувався наступних кроків:

  1. "xcode-select --print-path" дорівнює "/Applications/Xcode.app/Contents/Developer"
  2. "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform" існує
  3. "xcodebuild -version" починається з "Xcode"

після 1 я виявив, що це вказує мені на xcode-beta.app

тому ось рішення, яке працювало як шарм:

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


1

Для контексту сьогодні 28 січня 2019 року .

На моєму Mac я вирішив дві проблеми:

  1. Виконайте таку команду у своєму терміналі:
    sudo xcode-select --install

  2. Перезавантажте Mac.

Поки я не перезапустив комп’ютер, проблема в моїй студії Android не виникала. Після перезавантаження він працював просто чудово. Також зауважте, що я не виконував жодних --switchкоманд, як це роблять інші. Я сподіваюся, що це допомагає.


1

У мене була така ж проблема у високій Сьєррі. запуск наступної команди вирішив її npm дослідити npm -g - npm встановити node-gyp @ latest


1
Це працює для мене, за винятком того, я просто перевстановив зnpm -g install node-gyp@latest
ти.

1

Виконайте наведені нижче дії:

  1. Останню версію Xcode можна завантажити з https://developer.apple.com/xcode/download/
  2. Він буде завантажений у розділі "Завантаження", якщо не вказано інше. Будь ласка, переконайтеся, що перевіряєте шлях, куди ви завантажили та дістали Xcode
  3. Тепер, на відміну від інших завантажених програм, після вилучення Xcode не дає можливості переміщувати його у програмі
  4. Зверніть увагу на XCODE-ACTUAL-LOCATION або перемістіть його до додатках
  5. Зверніть увагу, якщо ви завантажили Xcode або Xcode-beta

На основі 4 та 5 виконайте одну з команд (Не виконайте їх усіх, не читаючи вищеописаного опису):

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode-beta.app/Contents/Developer

0
sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer

languoguangs-iMac:/ languoguang$ sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer
xcode-select: error: invalid argument '10.app/Contents/Developer'
Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path
languoguangs-iMac:/ languoguang$ sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

тому що моє ім'я Xcode у програмі "Xcode 10",

sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

працює.


0

У моєму випадку

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

не працювало, оскільки мій Xcode мав якусь спеціальну назву. напр.) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

Тоді я знайшов своє ім'я Xcode, а потім замінив його

sudo xcode-select -s /Applications/{myXcodeName}.app/Contents/Developer 

Це працювало для мене.


0

Ніщо з перерахованого вище не працювало для мене. Спочатку я встановлював Інструменти командного рядка окремо, а потім весь Xcode. Що для мене спрацювало - видалити інструменти командного рядка, як показано тут . Потім при спробі бігтиxcode-select знову, мене попросили перевстановити.

* До речі, сама причина, чому я знайшов цей потік, полягала в тому, що я встановила деякі бібліотеки (зокрема gcc) з macports, імовірно, використовуючи старі інструменти командного рядка, а потім встановила повний Xcode в середині розробки. Тож у будь-якому випадку мені довелося перевстановити macportsпісля видалення автономних інструментів командного рядка, перевстановлення, перевстановлення gcc, і тоді моя компіляція спрацювала.


0

Необхідні лише два кроки, і повний XCode.app взагалі не потрібно:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

У цей момент з'являється діалогове вікно "Встановлення програмного забезпечення":

введіть тут опис зображення

Це воно!


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.