Ungültiger aktiver Entwicklerpfad unter MAC OS X nach der Installation von Ruby


83

Ich erhalte diesen Fehler:

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

Diese Lösung funktioniert, aber der Fehler tritt erneut auf, nachdem ich mein Terminal geschlossen und erneut geöffnet habe. Ich muss dann jedes Mal, wenn ich ein neues Terminalfenster öffne, dieselben Befehle ausführen.

Wie kann ich diese Änderungen so anwenden, dass sie nach dem Schließen des Terminalfensters gespeichert werden?


1
Ich finde es toll, wie jeder Schritte veröffentlicht, denen er folgen muss, und kein einziger von ihnen hat das Problem zuerst diagnostiziert. Geben Sie den Leuten nicht einhundertundein Befehle, um ihren Computerzustand durch einen Versuch zu verbessern. Diagnose DANN behandeln.
Ryan

@ Ryan Bitte diagnostizieren Sie dann :)
David Lambl

1
Es liegt in der Verantwortung der Person, die die "Lösung" veröffentlicht, zu wissen, warum sie funktioniert, oder zumindest einen Haftungsausschluss zu veröffentlichen, damit jeder, der ihrer "Lösung" folgt, weiß, dass es sich um eine große Black Box handelt, die potenzielle Fehler verursachen kann. Zumindest ist es erforderlich, Quellen zu veröffentlichen und anzugeben, dass die Quellen eine Diagnose haben.
Ryan

@ Ryan Verstanden, ich denke das ist ein fairer Punkt. Ich werde die von mir akzeptierte Antwort gerne auf eine Antwort aktualisieren, die auch eine Diagnose des Problems enthält. Ich vermute jedoch, dass sich die Ursache für dieses spezielle Problem in den verschiedenen Versionen von macOS verschoben hat - und dass es viele Hauptursachen gibt, von denen einige trivialer sind als andere. Wenn jedoch jemand die Umgebung mit einer Diagnose und Schritten zur Behebung des Problems veröffentlicht, werde ich die akzeptierte Antwort basierend auf diesen Kriterien aktualisieren.
David Lambl

Antworten:


180

Nach dem Update auf OS X El Capitan wurde der gleiche Fehler angezeigt.
In meinem Fall habe ich es nur installiert:

sudo xcode-select --install

Und es funktioniert gut für mich.


3
Dies funktionierte für mich nach einem El Capitan-Upgrade. Vielen Dank.
ItsGeorge

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

Gleiches Problem hier @DanutPralea, wurde Ihr Problem behoben?
Srini

1
Wenn Befehlszeilentools bereits installiert sind, sollte dies funktionieren: 1. Entfernen der alten Tools ($ rm -rf / Library / Developer / CommandLineTools) 2. Installieren Sie die xcode-Befehlszeilentools erneut ($ xcode-select --install). Nach diesen Schritten wird ein Popup angezeigt, in dem Sie die neue Version der Tools installieren können.
Shuvo

5
Dies funktionierte für mich nach dem Update auf MacOS Mojave. Ich musste es aber nicht benutzen sudo.
Verbrennungsanlage

58

[Update] Die folgenden Schritte gelten für OS X 10.10 (Yosemite). Diejenigen, die dies aufgrund eines Upgrades auf 10.11 (El Capitan) erleben, müssen anscheinend nur sudo xcode-select --install wie in der akzeptierten Antwort beschrieben ausgeführt werden.

Ich habe hier einen Vorschlag gefunden, der darauf hinweist

sudo xcode-select -switch /

als das Update. Dies warf jedoch einen Fehler auf, dass der Entwicklerpfad ungültig war.

Stattdessen habe ich dies für mich geändert

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

(Dies ist eine Mischung aus den beiden referenzierten Link-Lösungen) und dies hat funktioniert.

[Bearbeiten]

Versuchen Sie es mit

xcode-select --print-path

um Ihren Entwicklerpfad zu finden, wenn /Applications/Xcode.app/Contents/Developer/ für Sie immer noch ungültig ist.


1
Danke dafür! Stieß auf dieses Problem nach dem Update auf die Xcode 7.0 Beta
Charles Lillo

6
Ich bekomme auch xcode-select: error: invalid developer directory '/Applications/Xcode.app/Contents/Developer/'Fehler (ich bin auf MAC El Capitan)
TMKasun

1
@ DavidLambl hat nicht geholfen. Immer noch ungültiges Verzeichnis.
Sevenseacat

4
@ DavidLambl Danke, ich habe es versucht, aber es hat nicht funktioniert, stattdessen xcode-select --installhat es für mich funktioniert.
TMKasun

1
Ich habe versucht, zu verwenden, xcode-select --installaber es forderte:xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Danut Pralea

21

Ich weiß, dass dies ziemlich alt ist, aber ich habe das gleiche Problem und habe es dann durch ein paar zusätzliche Schritte behoben. Das Problem trat auf, als das Terminal den tatsächlichen Pfad der Befehlszeilentools nicht finden konnte.

  1. Wenn Sie Xcode hatten und ihn dann entfernt haben, verweist Terminal auf die Befehlszeilentools im Xcode-Ordner. Versuchen Sie es mit diesem Befehl und überprüfen Sie Ihren Pfad xcode-select --print-path. Dies würde höchstwahrscheinlich drucken /Applications/Xcode.app/Contents/Developer.
  2. Um dies zu beheben, installieren Sie die Befehlszeilentools für xcode neu. Entfernen Sie zunächst alle vorherigen Installationen mit sudo rm -rf /Library/Developer/CommandLineTools.
  3. Installieren Sie dann die Befehlszeilentools. sudo xcode-select --install Ändern Sie nun im letzten Schritt den Pfad für das CLT in den tatsächlichen Pfad, indem Sie sudo xcode-select -switch /Library/Developer/CommandLineTools/diesen Fehler beheben.

13

Ich bekam den gleichen Fehler, nachdem ich macOS Mojave auf macOS Catalina aktualisiert hatte.

Ich habe gerade einige Befehlszeilen im Terminal installiert.

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

Dann,

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

Und es funktioniert gut mit mir. Vielen Dank!!


1
Ja ... fertig mit allen drei Schritten, aber der vierte fehlte. Der vierte hat den Trick für mich gemacht :)
Hmali

Ich finde es toll, wie jeder Schritte veröffentlicht, denen er folgen muss, und kein einziger von ihnen hat das Problem zuerst diagnostiziert. Geben Sie den Leuten nicht einhundertundein Befehle, um ihren Computerzustand durch einen Versuch zu verbessern. Diagnose DANN behandeln.
Ryan

Es ist keine Prüfung !! Ich habe das gleiche Problem und habe alle oben genannten Antworten versucht, um mein Problem zu lösen, aber etwas fehlte und ich wusste nicht was! Und schließlich habe ich durch meine obige Antwort eine Lösung für mein Problem gefunden und es hat perfekt für mich funktioniert! Niemand möchte die Zeit der Menschen verschwenden. Die Leute antworten, was sie gesehen haben und wie sie zu diesem Thema gekommen sind.
Anjali Kevadiya

8

Ich habe das Problem mit den folgenden Schritten behoben.

Xcode -> Einstellungen -> Speicherorte -> Befehlszeilentools -> Wählen Sie das Befehlstool aus, das Ihrer Xcode-Version entspricht.


6

Für mich war die Lösung so einfach wie die Neuinstallation von Xcode.

Es wurde hier darauf hingewiesen: https://superuser.com/a/981126

Sie können Xcode über die Befehlszeile (wie in der obigen Antwort vorgeschlagen) oder direkt aus dem App Store (neu) installieren.


5

Ich hatte auch das gleiche Problem nach dem Upgrade auf OS X EI Captian. Ich habe gerade xcode-select mit installiertsudo xcode-select --install


3

Ich hatte das gleiche Problem, als ich einen der beiden installierten Xcodes entfernte.

Ich habe dieses Problem gelöst, indem ich den Pfad mithilfe des Terminals wie unten geändert habe

$ sudo xcode-select --switch (ziehe Xcode hierher, um einen Pfad zu erhalten)

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



2

Teildiagnose: https://github.com/microsoft/vcpkg/issues/8781#issuecomment-547248760

Es scheint, dass beim Upgrade von einer MacOS-Version auf eine andere entweder einige Entwicklertools deinstalliert oder auf einen anderen Pfad verschoben werden. Dies beeinträchtigt die Kompatibilität mit jedem Tool, das die Umgebungsvariable verwendet, die auf den alten Speicherort der Tools verweist.

sudo xcode-select --install

Die Verwendung des Installationsbefehls hat bei mir funktioniert, aber es ist nicht klar, ob dies einfach Dateien heruntergeladen und entpackt und dann die Installation übersprungen und einfach eine Umgebungsvariable aktualisiert hat oder ob die Dateien physisch unter dem erwarteten Pfad installiert wurden. (Oder es könnte Links zum neuen Ordnerpfad hergestellt haben).

Wenn ich meine Theorie teste, überprüfe ich die Ordnerstruktur mit ls(ich hätte dies tun sollen, bevor ich den Befehl install verwende):

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*

Es ist offensichtlich, dass sich die Dateien physisch an diesem Ordner befinden und das Installationsprogramm fehlende Komponenten installiert hat. Die Tatsache, dass der Upgrade-Prozess von MacOS meine Entwicklungsumgebung deinstalliert, ist unfreundlich und Apple sollte gerügt werden.


1

Nach dem Upgrade von macOS Mojave v10.14 auf Catalina v10.15 ist zum ersten Mal ein ähnlicher Fehler beim Ausführen von Homebrew aufgetreten.

Es ist niemals eine gute Idee, Befehle auszuführen, ohne zu verstehen, was mit Ihrer Installation von Homebrew nicht stimmt und was die Befehle tatsächlich tun. Ihre erste und beste Option ist das Ausführen brew doctor. Dieser Befehl zeigt Ihnen nicht nur an, ob etwas nicht stimmt, sondern auch, wie Sie das Problem beheben können. In meinem Fall zeigte es:

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

Sobald Sie das Problem behoben haben, führen Sie es aus brew doctor erneut aus. Wiederholen Sie den Vorgang grundsätzlich, bis Sie die Entwarnung erhalten.

In einigen Fällen erhalten Sie so etwas wie:

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

Dies geschieht, wenn Sie Software außerhalb von Homebrew installiert haben, die denselben Speicherort auch zum Speichern ihrer Dateien verwenden. In vielen Fällen ist es sicher, diese Warnungen zu ignorieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.