Недійсний активний шлях розробника в MAC OS X після встановлення Ruby


84

Я отримую цю помилку:

xcrun: error: invalid active developer path (/Applications/Xcode.app), missing xcrun at: /Applications/Xcode.app/usr/bin/xcrun

Це рішення працює, але помилка виникає знову після закриття терміналу та його повторного відкриття; Потім мені доводиться запускати ті самі команди кожного разу, коли я відкриваю нове вікно терміналу.

Як я можу застосувати ці зміни так, щоб вони збереглися після закриття вікна терміналу?


1
Мені подобається, як усі публікують кроки, яких слід дотримуватися, і жоден з них не діагностував проблему першим. Не давайте людям сто і одну команду, щоб спробувати зіпсувати стан свого комп’ютера. Діагностуйте ПОТІМ лікування.
Райан,

@Ryan Будь ласка, поставте діагноз :)
Девід Ламбл

1
Особа, яка опублікує "рішення", зобов'язана знати, чому воно працює, або, принаймні, опублікувати застереження, щоб кожен, хто дотримується їх "рішення", знав, що це великий чорний ящик, який може спричинити потенційні помилки. Принаймні, розміщення джерел та зазначення джерел мають діагноз.
Райан

@Ryan Зрозуміло, я думаю, це справедливий момент. Я із задоволенням оновлю прийняту відповідь на відповідь, яка також включає діагностику проблеми. Хоча, я підозрюю, що причина цієї конкретної проблеми змінилася на різні версії macOS - а також має безліч основних причин, деякі більш тривіальні, ніж інші. Тим не менше, якщо хтось опублікує запущене середовище з діагнозом та кроки щодо усунення проблеми, я оновлю прийняту відповідь на основі цих критеріїв.
Девід Ламбл,

Відповіді:


181

Я почав отримувати ту саму помилку після оновлення до OS X El Capitan.
У моєму випадку все, що я зробив, це встановити його:

sudo xcode-select --install

І це добре працює для мене.


3
Це спрацювало для мене після оновлення El Capitan. Дякую.
ItsGeorge

12
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Данут Пралеа,

Те саме питання тут @DanutPralea, чи вирішено ваше?
Сріні

1
Для інструментів командного рядка вже встановлена ​​проблема, це повинно працювати: 1. видалення старих інструментів ($ rm -rf / Library / Developer / CommandLineTools) 2. встановлення інструментів командного рядка xcode знову ($ xcode-select --install). Після цих кроків ви побачите спливаюче вікно для встановлення нової версії інструментів.
Шуво

5
Це спрацювало для мене після оновлення до MacOS Mojave. Мені не довелося користуватися, sudoхоча.
Сміттєспалювач

61

[Оновлення] Наведені нижче кроки стосуються OS X 10.10 (Йосеміті). Тим, хто переживає це через оновлення до 10.11 (El Capitan), схоже, потрібно запускати лише так, sudo xcode-select --install як описано у прийнятій відповіді.

Я знайшов тут пропозицію, яка вказала

sudo xcode-select -switch /

як виправлення. Однак це призвело до помилки, що шлях розробника був недійсним.

Натомість для мене я змінив це на

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

(що є сумішшю двох розв’язаних посилань) і це спрацювало.

[Редагувати]

Спробуйте використовувати

xcode-select --print-path

щоб знайти свій шлях розробника, якщо /Applications/Xcode.app/Contents/Developer/ для вас все ще недійсний.


1
Дякую за це! Натрапив на цю проблему після оновлення до бета-версії Xcode 7.0
Чарльз Лілло,

7
Я також отримую xcode-select: error: invalid developer directory '/Applications/Xcode.app/Contents/Developer/'помилку, (я на MAC El Capitan)
TMKasun

1
@DavidLambl не допоміг. Досі недійсний каталог.
sevenseacat

4
@DavidLambl Дякую, я спробував, але не працював, замість цього xcode-select --installпрацював у мене.
TMKasun

1
Я спробував використати, xcode-select --installале це підказало:xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Данут Пралеа

22

Я знаю, що це досить давно, але я отримав ту саму проблему, а потім виправив це, зробивши ще кілька додаткових кроків. Проблема виникла, коли термінал не зміг знайти фактичний шлях до інструментів командного рядка.

  1. Якщо ви мали Xcode, а потім видалили його, тоді Terminal звертається до інструментів командного рядка всередині папки Xcode. Спробуйте використовувати цю команду і перевірте , що ваш шлях, xcode-select --print-path. Це, швидше за все, друкується /Applications/Xcode.app/Contents/Developer.
  2. Тепер, щоб це виправити, переінсталюйте інструменти командного рядка для xcode. Спочатку видаліть усі попередні установки, використовуючи sudo rm -rf /Library/Developer/CommandLineTools.
  3. Потім встановіть інструменти командного рядка. sudo xcode-select --install На завершальному етапі змініть шлях для CLT на фактичний шлях, використовуючи sudo xcode-select -switch /Library/Developer/CommandLineTools/це, це виправить.

13

Я почав отримувати ту саму помилку після того, як оновив macOS Mojave до macOS Catalina.

Я щойно встановив кілька командних рядків у терміналі,

 1. $ sudo gem install cocoapods
 2. $ sudo xcode-select --install
 3. $ chsh -s /bin/zsh

Тоді,

Xcode -> Preferences -> Locations -> Command Line Tools and confirm you have current Xcode version selected there.

І це добре працює зі мною. Дякую!!


1
так ... зроблено з усіма трьома кроками, але 4-го не вистачало .. 4-й зробив трюк для мене :)
hmali

Мені подобається, як усі публікують кроки, яких слід дотримуватися, і жоден з них не діагностував проблему першим. Не давайте людям сто і одну команду, щоб спробувати зіпсувати стан свого комп’ютера. Діагностуйте ПОТІМ лікування.
Райан,

Це не випробування !! Я стикаюся з тією ж проблемою, і я спробував усі вищезазначені відповіді, щоб вирішити свою проблему, але щось бракувало, і я не знав, що! І, нарешті, я придумав рішення своєї проблеми за моєю вищезазначеною відповіддю, і вона мені спрацювала чудово! Ніхто не хоче марнувати час людей. Люди відповідають, з чим стикалися і як вони прийшли до цього питання.
Анджалі Кевадія

9

Я вирішив проблему, виконавши наведені нижче дії.

Xcode -> Налаштування -> Місцеположення -> Інструменти командного рядка -> Виберіть командний інструмент, який відповідає вашій версії Xcode.


6

Для мене рішення було таким же простим, як перевстановлення Xcode.

На це було вказано тут: https://superuser.com/a/981126

Ви можете (пере) встановити Xcode за допомогою командного рядка, як пропонується у відповіді вище, або безпосередньо з App Store.


5

У мене теж була така сама проблема після оновлення до OS X EI Captian. Я щойно встановив xcode-select за допомогоюsudo xcode-select --install



3

Я зіткнувся з такою ж проблемою, коли видалив один із двох встановлених Xcode.

Я вирішив цю проблему, переключивши шлях за допомогою терміналу, як показано нижче

$ sudo xcode-select --switch (перетягніть Xcode сюди, щоб отримати шлях)

наприклад sudo xcode-select --switch / Applications / Xcode \ 10.1.app


2

Частковий діагноз: https://github.com/microsoft/vcpkg/issues/8781#issuecomment-547248760

Здається, що оновлення з однієї версії MacOS до іншої або видаляє деякі інструменти розробника, або переміщує їх на інший шлях, і це порушує сумісність з будь-яким інструментом із використанням змінної середовища, яка вказує на старе місце, де були розташовані інструменти.

sudo xcode-select --install

Застосування команди install працювало для мене, але незрозуміло, чи це просто завантажувало та розпаковувало файли, а потім пропускало інсталяцію та просто оновлювало змінну середовища, чи фізично воно встановлювало файли на очікуваний шлях. (Або це могло зробити посилання на новий шлях до папки).

Перевіряючи свою теорію, я перевіряю структуру папок ls(я повинен був зробити це до використання команди install):

rej@Ryans-MacBook-Air:~$ ls /Library/Developer/CommandLineTools/usr/bin/
rej@Ryans-MacBook-Air:~$ ls -la /Library/Developer/CommandLineTools/usr/bin/
total 243776
drwxr-xr-x  124 root  wheel   3.9K Oct 28 23:03 ./
drwxr-xr-x    7 root  admin   224B Oct 28 23:05 ../
lrwxr-xr-x    1 root  wheel    64B Oct 28 23:03 2to3@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/2to3
lrwxr-xr-x    1 root  wheel    68B Oct 28 23:03 2to3-3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/2to3-3.7
-rwxr-xr-x    1 root  wheel   116K Sep  5 22:51 DeRez*
-rwxr-xr-x    1 root  wheel    31K Sep  5 22:51 GetFileInfo*
-rwxr-xr-x    1 root  wheel    33K Sep  5 22:51 ResMerger*
-rwxr-xr-x    1 root  wheel   126K Sep  5 22:51 Rez*
-rwxr-xr-x    1 root  wheel    31K Sep  5 22:51 SetFile*
-rwxr-xr-x    1 root  wheel    32K Sep  5 22:51 SplitForks*
-rwxr-xr-x    1 root  wheel    41K Sep  5 22:51 ar*
-rwxr-xr-x    1 root  wheel    40K Sep  5 22:51 as*
-rwxr-xr-x    1 root  wheel    27K Sep  5 22:51 asa*
-rwxr-xr-x    1 root  wheel   216K Sep  5 22:51 bison*
-rwxr-xr-x    1 root  wheel   159K Sep  5 22:51 bitcode_strip*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 c++@ -> clang
-rwxr-xr-x    1 root  admin    31K Sep  5 22:51 c89*
-rwxr-xr-x    1 root  admin    31K Sep  5 22:51 c99*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 cc@ -> clang
-rwxr-xr-x    1 root  wheel    80M Sep  5 22:51 clang*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 clang++@ -> clang
-rwxr-xr-x    1 root  wheel   125K Sep  5 22:51 cmpdylib*
-rwxr-xr-x    1 root  wheel   154K Sep  5 22:51 codesign_allocate*
lrwxr-xr-x    1 root  wheel    17B Oct 28 23:03 codesign_allocate-p@ -> codesign_allocate
-rwxr-xr-x    1 root  admin   3.3K Aug 16 06:55 cpp*
-rwxr-xr-x    1 root  wheel    36K Sep  5 22:51 ctags*
-rwxr-xr-x    1 root  wheel   150K Sep  5 22:51 ctf_insert*
-rwxr-xr-x    1 root  wheel    30M Sep  5 22:51 dsymutil*
lrwxr-xr-x    1 root  wheel    14B Oct 28 23:03 dwarfdump@ -> llvm-dwarfdump
-rwxr-xr-x    1 root  wheel   477K Sep  5 22:51 dwarfdump-classic*
-rwxr-xr-x    1 root  wheel   211K Sep  5 22:51 dyldinfo*
-rwxr-xr-x    1 root  wheel   239B Sep  5 19:18 easy_install-3.7*
-rwxr-xr-x    1 root  wheel   572K Sep  5 22:51 flex*
-rwxr-xr-x    1 root  wheel   572K Sep  5 22:51 flex++*
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 g++@ -> gcc
-rwxr-xr-x    1 root  wheel   101K Aug 16 07:31 gatherheaderdoc*
-rwxr-xr-x    1 root  admin    27K Sep  5 22:51 gcc*
lrwxr-xr-x    1 root  wheel     8B Oct 28 23:03 gcov@ -> llvm-cov
-rwxr-xr-x    1 root  wheel   2.4M Sep  5 22:51 git*
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 git-receive-pack@ -> git
-rwxr-xr-x    1 root  wheel   1.4M Sep  5 22:51 git-shell*
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 git-upload-archive@ -> git
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 git-upload-pack@ -> git
-rwxr-xr-x    1 root  wheel   148K Sep  5 22:51 gm4*
-rwxr-xr-x    1 root  wheel   166K Sep  5 22:51 gnumake*
-rwxr-xr-x    1 root  wheel    98K Sep  5 22:51 gperf*
-rwxr-xr-x    1 root  wheel    33K Sep  5 22:51 hdxml2manxml*
-rwxr-xr-x    1 root  wheel   158K Aug 16 07:31 headerdoc2html*
-rwxr-xr-x    1 root  wheel    73K Sep  5 22:51 indent*
-rwxr-xr-x    1 root  wheel   142K Sep  5 22:51 install_name_tool*
-rwxr-xr-x    1 root  wheel   2.5M Sep  5 22:51 ld*
-rwxr-xr-x    1 root  wheel   230B Aug 16 07:13 lex*
-rwxr-xr-x    1 root  wheel   163K Sep  5 22:51 libtool*
-rwxr-xr-x    1 root  wheel    73K Sep  5 22:51 lipo*
-rwxr-xr-x    1 root  wheel   332K Sep  5 22:51 lldb*
-rwxr-xr-x    1 root  wheel   3.6M Sep  5 22:51 llvm-cov*
-rwxr-xr-x    1 root  wheel   7.9M Sep  5 22:51 llvm-dwarfdump*
-rwxr-xr-x    1 root  wheel   9.8M Sep  5 22:51 llvm-nm*
-rwxr-xr-x    1 root  wheel    11M Sep  5 22:51 llvm-objdump*
-rwxr-xr-x    1 root  wheel    40K Sep  5 22:51 llvm-otool*
-rwxr-xr-x    1 root  wheel   1.6M Sep  5 22:51 llvm-profdata*
-rwxr-xr-x    1 root  wheel   2.9M Sep  5 22:51 llvm-size*
-rwxr-xr-x    1 root  wheel   3.5K Aug 16 07:19 lorder*
-rwxr-xr-x    1 root  wheel   148K Sep  5 22:51 m4*
-rwxr-xr-x    1 root  wheel   166K Sep  5 22:51 make*
-rwxr-xr-x    1 root  wheel   7.7K Aug 16 07:16 mig*
lrwxr-xr-x    1 root  wheel     7B Oct 28 23:03 nm@ -> llvm-nm
-rwxr-xr-x    1 root  wheel   142K Sep  5 22:51 nm-classic*
-rwxr-xr-x    1 root  wheel   171K Sep  5 22:51 nmedit*
lrwxr-xr-x    1 root  wheel    12B Oct 28 23:03 objdump@ -> llvm-objdump
lrwxr-xr-x    1 root  wheel    10B Oct 28 23:03 otool@ -> llvm-otool
-rwxr-xr-x    1 root  wheel   644K Sep  5 22:51 otool-classic*
-rwxr-xr-x    1 root  wheel   138K Sep  5 22:51 pagestuff*
-rwxr-xr-x    1 root  wheel   221B Sep  5 19:18 pip3*
-rwxr-xr-x    1 root  wheel   221B Sep  5 19:18 pip3.7*
-rwxr-xr-x    1 root  wheel    32K Sep  5 22:51 projectInfo*
lrwxr-xr-x    1 root  wheel    66B Oct 28 23:03 pydoc3@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pydoc3
lrwxr-xr-x    1 root  wheel    68B Oct 28 23:03 pydoc3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pydoc3.7
lrwxr-xr-x    1 root  wheel    67B Oct 28 23:03 python3@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3
lrwxr-xr-x    1 root  wheel    74B Oct 28 23:03 python3-config@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3-config
lrwxr-xr-x    1 root  wheel    69B Oct 28 23:03 python3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7
lrwxr-xr-x    1 root  wheel    76B Oct 28 23:03 python3.7-config@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7-config
lrwxr-xr-x    1 root  wheel    70B Oct 28 23:03 python3.7m@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7m
lrwxr-xr-x    1 root  wheel    77B Oct 28 23:03 python3.7m-config@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7m-config
lrwxr-xr-x    1 root  wheel    66B Oct 28 23:03 pyvenv@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pyvenv
lrwxr-xr-x    1 root  wheel    70B Oct 28 23:03 pyvenv-3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pyvenv-3.7
lrwxr-xr-x    1 root  wheel     7B Oct 28 23:03 ranlib@ -> libtool
-rwxr-xr-x    1 root  wheel    70K Sep  5 22:51 resolveLinks*
-rwxr-xr-x    1 root  wheel    85K Sep  5 22:51 rpcgen*
-rwxr-xr-x    1 root  wheel    56K Sep  5 22:51 segedit*
lrwxr-xr-x    1 root  wheel    12B Oct 28 23:03 size@ -> size-classic
-rwxr-xr-x    1 root  wheel   125K Sep  5 22:51 size-classic*
-rwxr-xr-x    1 root  admin   138K Sep  5 22:51 stapler*
-rwxr-xr-x    1 root  wheel   126K Sep  5 22:51 strings*
-rwxr-xr-x    1 root  wheel   179K Sep  5 22:51 strip*
-rwxr-xr-x    1 root  wheel   330K Sep  5 22:51 svn*
-rwxr-xr-x    1 root  wheel   118K Sep  5 22:51 svnadmin*
-rwxr-xr-x    1 root  wheel   105K Sep  5 22:51 svnbench*
-rwxr-xr-x    1 root  wheel    64K Sep  5 22:51 svndumpfilter*
-rwxr-xr-x    1 root  wheel    71K Sep  5 22:51 svnfsfs*
-rwxr-xr-x    1 root  wheel    98K Sep  5 22:51 svnlook*
-rwxr-xr-x    1 root  wheel    70K Sep  5 22:51 svnmucc*
-rwxr-xr-x    1 root  wheel    89K Sep  5 22:51 svnrdump*
-rwxr-xr-x    1 root  wheel   122K Sep  5 22:51 svnserve*
-rwxr-xr-x    1 root  wheel    90K Sep  5 22:51 svnsync*
-rwxr-xr-x    1 root  wheel    44K Sep  5 22:51 svnversion*
-rwxr-xr-x    1 root  wheel    90M Sep  5 22:51 swift*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 swift-autolink-extract@ -> swift
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-build*
-rwxr-xr-x    1 root  admin   734K Sep  5 22:51 swift-build-tool*
-rwxr-xr-x    1 root  wheel   687K Sep  5 22:51 swift-demangle*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 swift-format@ -> swift
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-package*
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-run*
-rwxr-xr-x    1 root  wheel    61K Sep  5 22:51 swift-stdlib-tool*
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-test*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 swiftc@ -> swift
-rwxr-xr-x    1 root  wheel    12M Sep  5 22:51 tapi*
-rwxr-xr-x    1 root  wheel    41K Sep  5 22:51 unifdef*
-rwxr-xr-x    1 root  wheel   2.9K Aug 16 07:19 unifdefall*
-rwxr-xr-x    1 root  wheel    63K Sep  5 22:51 unwinddump*
-rwxr-xr-x    1 root  wheel    49K Sep  5 22:51 vtool*
-rwxr-xr-x    1 root  wheel    45K Sep  5 22:51 xml2man*
-rwxr-xr-x    1 root  wheel   135B Aug 16 07:22 yacc*

Очевидно, що файли фізично знаходяться в цьому місці папки, а інсталятор встановив відсутні компоненти. Той факт, що процес оновлення MacOS видаляє моє середовище розробки, є недружнім, і Apple повинна дорікати.


2

Я отримав подібну помилку під час запуску Homebrew вперше після оновлення з macOS Mojave v10.14 до Catalina v10.15.

Ніколи не є гарною ідеєю запускати команди, не розуміючи, що не так із вашою установкою Homebrew і що команди насправді роблять. Ваш перший і найкращий варіант - це біг brew doctor. Ця команда не тільки покаже вам, що щось не так, але і те, як вирішити проблему. У моєму випадку це показало:

Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path:
  sudo xcode-select -switch /Applications/Xcode.app

Після того, як ви вирішите проблему (проблеми), запустіть brew doctorзнову. В основному, повторюйте процес, поки не отримаєте чітке повідомлення.

У деяких випадках ви отримуєте щось на зразок:

Unbrewed dylibs/header files/static libraries were found in /usr/local/....

Це станеться, якщо ви встановили програмне забезпечення за межами Homebrew, яке також використовує те саме місце для зберігання своїх файлів. У багатьох випадках безпечно ігнорувати ці попередження.

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