Nieprawidłowa aktywna ścieżka programisty w systemie Mac OS X po zainstalowaniu Rubiego

84

Otrzymuję ten błąd:

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

To rozwiązanie działa, ale błąd pojawia się ponownie po zamknięciu mojego terminala i ponownym otwarciu; Następnie muszę uruchamiać te same polecenia za każdym razem, gdy otwieram nowe okno terminala.

Jak mogę zastosować te zmiany, aby zostały zapisane po zamknięciu okna terminala?

David Lambl
źródło
1
Uwielbiam to, jak wszyscy publikują kroki do naśladowania i żaden z nich nie zdiagnozował problemu jako pierwszy. Nie dawaj ludziom setek poleceń, aby schrzanili stan komputera, próbując. Diagnozuj, a następnie leczyć.
Ryan
@Ryan Proszę wtedy zdiagnozować :)
David Lambl
1
Obowiązkiem osoby, która publikuje „rozwiązanie”, jest wiedzieć, dlaczego działa, lub przynajmniej opublikować zastrzeżenie, aby każdy, kto śledzi jego „rozwiązanie”, wiedział, że jest to duża czarna skrzynka, która może powodować potencjalne błędy. Wymagane jest co najmniej umieszczenie źródeł i podanie źródeł, w których jest diagnoza.
Ryan
@Ryan Understood, myślę, że to słuszna uwaga. Z radością zaktualizuję odpowiedź, którą zaakceptowałem, do odpowiedzi, która zawiera również diagnozę problemu. Chociaż podejrzewam, że przyczyna tego konkretnego problemu zmieniła się w różnych wersjach macOS - a także ma wiele przyczyn źródłowych, niektóre bardziej trywialne niż inne. Niemniej jednak, jeśli ktoś umieści uruchomione środowisko z diagnozą i krokami w celu naprawy problemu, zaktualizuję zaakceptowaną odpowiedź na podstawie tych kryteriów.
David Lambl

Odpowiedzi:

181

Zacząłem otrzymywać ten sam błąd po aktualizacji do systemu OS X El Capitan.
W moim przypadku wszystko, co zrobiłem, to zainstalować:

sudo xcode-select --install

I dla mnie działa dobrze.

Shuvo
źródło
3
To zadziałało dla mnie po aktualizacji El Capitan. Dzięki.
ItsGeorge
12
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Danut Pralea
Ten sam problem, @DanutPralea, czy Twój został rozwiązany?
Srini,
1
Jeśli narzędzia wiersza poleceń są już zainstalowane, powinno to działać: 1. usunięcie starych narzędzi ($ rm -rf / Library / Developer / CommandLineTools) 2. Ponowna instalacja narzędzi wiersza poleceń xcode ($ xcode-select --install). Po wykonaniu tych czynności pojawi się wyskakujące okienko umożliwiające zainstalowanie nowej wersji narzędzi.
Shuvo
5
To zadziałało dla mnie po aktualizacji do MacOS Mojave. Nie musiałem jednak używać sudo.
Incinerator
61

[Aktualizacja] Poniższe kroki dotyczą systemu OS X 10.10 (Yosemite). Ci, którzy doświadczają tego z powodu aktualizacji do 10.11 (El Capitan), muszą działać tylko w sudo xcode-select --install sposób opisany w zaakceptowanej odpowiedzi.

Znalazłem tutaj sugestię , która wskazywała

sudo xcode-select -switch /

jako poprawka. Jednak spowodowało to błąd, że ścieżka programisty była nieprawidłowa.

Zamiast tego dla mnie zmodyfikowałem to do

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

(który jest mieszaniną dwóch wymienionych rozwiązań linków) i to zadziałało.

[Edytować]

Spróbuj użyć

xcode-select --print-path

aby znaleźć ścieżkę programisty, jeśli plik /Applications/Xcode.app/Contents/Developer/ jest nadal dla Ciebie nieprawidłowy.

David Lambl
źródło
1
Dziękuję Ci za to! Napotkaliśmy ten problem po aktualizacji do Xcode 7.0 beta
Charles Lillo
7
Otrzymuję również xcode-select: error: invalid developer directory '/Applications/Xcode.app/Contents/Developer/'błąd (jestem na MAC El Capitan)
TMKasun
1
@DavidLambl nie pomógł. Nadal nieprawidłowy katalog.
sevenseacat
4
@DavidLambl Dzięki, próbowałem, ale zamiast tego nie xcode-select --installzadziałało dla mnie.
TMKasun
1
Próbowałem użyć, xcode-select --installale to podpowiedziało:xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Danut Pralea
22

Wiem, że to dość stare, ale mam ten sam problem, a potem naprawiłem go, wykonując kilka dodatkowych kroków. Problem pojawił się, gdy Terminal nie mógł znaleźć rzeczywistej ścieżki narzędzi wiersza poleceń.

  1. Jeśli miałeś Xcode, a następnie go usunąłeś, Terminal odnosi się do narzędzi wiersza poleceń w folderze Xcode. Spróbuj użyć tego polecenia i sprawdzić, co ścieżka jest xcode-select --print-path. Najprawdopodobniej zostanie to wydrukowane /Applications/Xcode.app/Contents/Developer.
  2. Teraz, aby to naprawić, zainstaluj ponownie narzędzia wiersza poleceń dla xcode. Najpierw usuń wszystkie poprzednie instalacje za pomocą sudo rm -rf /Library/Developer/CommandLineTools.
  3. Następnie zainstaluj narzędzia wiersza poleceń sudo xcode-select --install Teraz ostatni krok, zmień ścieżkę CLT na rzeczywistą ścieżkę, używając sudo xcode-select -switch /Library/Developer/CommandLineTools/tego naprawi to.
RinW
źródło
13

Zacząłem otrzymywać ten sam błąd po zaktualizowaniu macOS Mojave do macOS Catalina.

Właśnie zainstalowałem kilka linii poleceń w Terminalu,

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

Następnie,

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

U mnie to działa dobrze. Dzięki!!

Anjali Kevadiya
źródło
1
tak ... zrobione ze wszystkimi trzema krokami, ale zabrakło czwartego .. Czwarty
załatwił
Uwielbiam to, jak wszyscy publikują kroki do naśladowania i żaden z nich nie zdiagnozował problemu jako pierwszy. Nie dawaj ludziom setek poleceń, aby schrzanili stan komputera, próbując. Diagnozuj, a następnie leczyć.
Ryan
To nie jest próba !! Mam ten sam problem i wypróbowałem wszystkie powyższe odpowiedzi, aby rozwiązać mój problem, ale czegoś brakowało i nie wiedziałem co! I w końcu znalazłem rozwiązanie mojego problemu przez moją powyższą odpowiedź i zadziałało idealnie dla mnie! Nikt nie chce marnować czasu ludzi. Ludzie odpowiadają, z czym się spotkali i jak doszli do tego problemu.
Anjali Kevadiya
9

Rozwiązałem problem, wykonując poniższe czynności.

Xcode -> Preferencje -> Lokalizacje -> Narzędzia wiersza poleceń -> Wybierz narzędzie poleceń pasujące do Twojej wersji Xcode.

Kumar C.
źródło
6

Dla mnie rozwiązanie było tak proste, jak ponowna instalacja Xcode.

Wskazano tutaj: https://superuser.com/a/981126

Możesz (ponownie) zainstalować Xcode za pomocą wiersza poleceń, jak sugeruje powyższa odpowiedź, lub bezpośrednio z App Store.

Joe
źródło
5

Ja też miałem ten sam problem po uaktualnieniu do OS X EI Captian. Właśnie zainstalowałem xcode-select przy użyciusudo xcode-select --install

suresh
źródło
4

sudo xcode-select -switch / pracuje dla mnie.

MichaelWang
źródło
Działał dobrze dla MacOS Catalina v 10.15.1
Kumar,
3

Napotkałem ten sam problem, gdy usunąłem jeden z dwóch zainstalowanych Xcode.

Rozwiązałem ten problem, przełączając ścieżkę za pomocą terminala, jak poniżej

$ sudo xcode-select --switch (przeciągnij Xcode tutaj, aby uzyskać ścieżkę)

np. sudo xcode-select --switch / Applications / Xcode \ 10.1.app

chetu
źródło
2

Częściowa diagnoza: https://github.com/microsoft/vcpkg/issues/8781#issuecomment-547248760

Wygląda na to, że aktualizacja z jednej wersji systemu MacOS do innej powoduje odinstalowanie niektórych narzędzi deweloperskich lub przeniesienie ich na inną ścieżkę, a to zrywa zgodność z dowolnym narzędziem korzystającym ze zmiennej środowiskowej wskazującej na starą lokalizację, w której narzędzia się znajdowały.

sudo xcode-select --install

Użycie polecenia instalacji zadziałało dla mnie, ale nie jest jasne, czy to po prostu pobrało i rozpakowało pliki, a następnie pominęło instalację i po prostu zaktualizowało zmienną środowiskową, czy też fizycznie zainstalowało pliki w oczekiwanej ścieżce. (Lub mógł utworzyć łącza do nowej ścieżki folderu).

Testując moją teorię, badam strukturę folderów za pomocą ls(powinienem to zrobić przed użyciem polecenia instalacji):

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*

Widać, że pliki są fizycznie zlokalizowane w tym folderze i instalator zainstalował brakujące składniki. Fakt, że proces aktualizacji MacOS powoduje odinstalowanie mojego środowiska programistycznego, jest nieprzyjazny i Apple powinno zostać upomniane.

Ryan
źródło
2

Podobny błąd wystąpił podczas uruchamiania Homebrew po raz pierwszy po aktualizacji z macOS Mojave 10.14 do Catalina 10.15.

Uruchamianie poleceń nigdy nie jest dobrym pomysłem bez zrozumienia, co jest nie tak z instalacją Homebrew i co faktycznie robią. Twoja pierwsza i najlepsza opcja to bieganie brew doctor. To polecenie nie tylko poinformuje Cię, czy coś jest nie tak, ale także powie, jak rozwiązać problem. W moim przypadku pokazało:

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

Po rozwiązaniu problemu (ów) uruchom brew doctorponownie. Zasadniczo powtarzaj proces, aż otrzymasz jasny komunikat.

W niektórych przypadkach otrzymujesz coś takiego:

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

Stanie się tak, jeśli zainstalowałeś oprogramowanie poza Homebrew, które również używa tej samej lokalizacji do przechowywania swoich plików. W wielu przypadkach można bezpiecznie zignorować te ostrzeżenia.

Sandeep M
źródło