Неверный активный путь разработчика в 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, а также имеет множество основных причин, некоторые из которых более тривиальны, чем другие. Тем не менее, если кто-то опубликует среду, в которой запущена диагностика, и шаги по устранению проблемы, я обновлю принятый ответ на основе этих критериев.
Дэвид

Ответы:


184

Я начал получать ту же ошибку после обновления до OS X El Capitan.
В моем случае все, что я сделал, это установил:

sudo xcode-select --install

И у меня все работает нормально.


3
Это сработало для меня после обновления El Capitan. Благодарю.
ItsGeorge

13
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Danut Pralea

Та же проблема здесь @DanutPralea, решена ли ваша?
Srini

1
Если инструменты командной строки уже установлены, это должно сработать: 1. Удаление старых инструментов ($ rm -rf / Library / Developer / CommandLineTools) 2. Снова установите инструменты командной строки xcode ($ xcode-select --install). После этих шагов вы увидите всплывающее окно для установки новой версии инструментов.
Shuvo

5
У меня это сработало после обновления до MacOS Mojave. Однако мне не пришлось использовать sudo.
Мусоросжигатель

62

[Обновление] Следующие шаги относятся к OS X 10.10 (Yosemite). Тем, кто испытывает это из-за обновления до 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 01

1
@DavidLambl не помог. Все еще недействительный каталог.
sevenseacat 02

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
Danut Pralea

22

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

  1. Если у вас был Xcode, а затем он был удален, Терминал имеет в виду инструменты командной строки внутри папки 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 - й один пропал без вести .. четвёртую один сделал трюк для меня :)
hmali

Мне нравится, как все публикуют шаги, которым нужно следовать, и ни один из них не диагностировал проблему первым. Не давайте людям сотню и одну команду, чтобы испортить состояние своего компьютера, попробовав. Диагностируйте ТОГДА лечите.
Райан

Это не испытание !! Я столкнулся с той же проблемой, и я попробовал все вышеперечисленные ответы, чтобы решить свою проблему, но чего-то не хватало, и я не знал что! И, наконец, я пришел к решению своей проблемы с помощью моего вышеупомянутого ответа, и он отлично сработал для меня! Никто не хочет тратить время людей зря. Люди отвечают, с чем они столкнулись и как пришли к этому вопросу.
Анджали Кевадия

10

Я решил проблему с помощью следующих шагов.

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

У меня сработало использование команды установки, но неясно, просто ли она загружала и распаковывала файлы, а затем пропускала установку и просто обновляла переменную среды, или она физически установила файлы по ожидаемому пути. (Или он мог бы сделать ссылки на новый путь к папке).

Проверяя свою теорию, я исследую структуру папок с помощью ls(я должен был сделать это перед использованием команды установки):

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.