xcode-select Active Developer Directory-Fehler

681

Beim Ausführen eines npm installerforderlichen Fehlers wurde der folgende Fehler festgestellt node-gyp... der jedoch durch alles Erforderliche ausgelöst werden kann xcode-select.

xcode-select: error: Für das Tool 'xcodebuild' ist Xcode erforderlich, aber das aktive Entwicklerverzeichnis '/ Library / Developer / CommandLineTools' ist eine Befehlszeilen-Tool-Instanz

Was ist das Problem?

tjmehta
quelle
5
Funktioniert auch für YOSEMITE
tjmehta
12
Funktioniert auch für El Capitan
tjmehta
6
Funktioniert auch für Sierra
tjmehta
5
Funktioniert auch für High Sierra
tjmehta
6
Funktioniert auch für Mojave
Zohair

Antworten:

1288

Dieses Problem tritt auf, wenn auf das xcode-selectEntwicklerverzeichnis verwiesen wurde und /Library/Developer/CommandLineToolsein vollständiger regulärer Xcode erforderlich war (tritt auf, wenn CommandLineTools nach Xcode installiert werden).

Lösung:

  1. Installieren Sie Xcode (erhalten Sie es von https://appstore.com/mac/apple/xcode ), wenn Sie es noch nicht haben.
  2. Akzeptieren Sie die Allgemeinen Geschäftsbedingungen.
  3. Stellen Sie sicher, dass sich die Xcode-App im /ApplicationsVerzeichnis befindet (NICHT /Users/{user}/Applications).
  4. Punkt xcode-selectauf die Xcode App Entwickler Verzeichnis mit dem folgenden Befehl:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Hinweis: Stellen Sie sicher, dass Ihr Xcode-App-Pfad korrekt ist.

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode-Beta: /Applications/Xcode-beta.app/Contents/Developer
tjmehta
quelle
@qodeninja Dann durch /Applications/Xcode5-DP4.appden richtigen Pfad ersetzen , würde ich annehmen.
Max Nanasy
@ MaxNanasy Ich meine, das ist offensichtlich. Aber nein, das hat nicht funktioniert. Ich musste xcode deinstallieren und neu installieren, damit es wieder funktioniert
qodeninja
9
Mit dem Xcode 6 Beta hat das funktioniert. Vielen Dank! sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/
Jpincheira
1
Ich musste Schritt 2 nicht ausführen. Die Installation von Xcode war ausreichend. :)
Ryan Heathcote
11
macOS High Sierra 10.13 , ich hatte bereits Xcode 9.2 installiert und hatte nach der Installation von Karthago das gleiche Problem . Habe gerade den Schritt 4 gemacht und das wars!
RAM237
162

Andere Lösung für diejenigen, die Xcode nicht installieren möchten:

  1. Installieren Sie die Befehlszeilentools (falls noch nicht geschehen):

    xcode-select --install

  2. Ändern Sie das Active Directory:

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

Das hat bei mir funktioniert (git).

Indamix
quelle
23
Ich ziehe diese Lösung der Installation von Xcode vor, aber es sieht so aus, als könnten Sie sie nicht xcode-selectmehr von Apple herunterladen : cl.ly/image/2T0u2f2D471a/content
6
Ich glaube, ich habe jedoch bereits Befehlszeilentools installiert, sodass dadurch nichts behoben wird.
6
Ist der einzige Weg, einen brauchbaren xcodebuildzu bekommen , um den gesamten Xcode zu installieren? :-(
50
Diese Antwort scheint falsch . Der springende Punkt ist, dass 'xcodebuild' Xcode erfordert , dh eine vollständige Installation von Xcode oder CommandLineTools. Wenn Sie es hier testen und zu CommandLineTools wechseln, wird der Fehler auch nicht gestoppt.
Mikemaccana
21
Diese Antwort ist nicht mehr richtig. Ab Mai 2015 funktioniert der Befehl xcodebuild bei Verwendung der Befehlszeilentools für OSX 10.10 (Yosemite) nicht mehr, ohne dass der vollständige xcode installiert ist.
HipsterZipster
151

Ich hatte ein Problem beim Versuch, Pakete mit npm zu installieren. Ich habe die Fehlermeldung erhalten: "sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/"

Um dies zu beheben

  • Ich habe Xcode geöffnet.
  • Einstellungen
  • Standorte
  • Wählen Sie die Command Lin Tools: Xcode 6.1.1

Wenn ich jetzt Pakete mit npm installiere, bekomme ich keine Fehler mehr.

jay.tech66
quelle
1
Robo VM Setup behoben.
Sensei
106

Xcode-> Einstellungen-> Standorte-> Befehlszeilentools

Bildschirmfoto

Wählen Sie die Option: Xcode 8.x.

FranklinA
quelle
1
Klicken Sie auf den Link und sehen Sie sich das Bild an. Die Lösung dieses Problems ist nicht kompliziert.
FranklinA
Ich habe 8 xcode-Versionen installiert, die erstellt und ausgegeben werden, aber die obige wird mein Problem beheben. Du bist ein Lebensretter;)
Ahsan
Dies war das einzige, was für mich funktioniert hat, als ich versuchte, 2 Versionen von XCode zu installieren. Der Versuch xcode-selectsagte immer wieder "Fehler: ungültiges Entwicklerverzeichnis"!
mc01
Dies war die Lösung, die ich brauchte. Ich bin mir nicht sicher, warum diese Befehlszeilentools-Option nicht festgelegt wurde. Aber sobald ich es eingestellt hatte, löste es mein Problem. Vielen Dank.
Jdavis
50

Einfach ausführen, sudo xcode-select -rwodurch der Pfad automatisch zurückgesetzt werden soll.

 -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.
Chunkyguy
quelle
Ich frage mich, was passieren wird, wenn ich xcode deinstalliere und die obigen Schritte befolge, da ich CLI nach xcode installiert habe. Würde das meine bestehenden IOS-App-Projekte durcheinander bringen?
Gel
Dies funktionierte für mich auf osx 10.14.4 mit xcode 11.3.1
Rafael Khan
10

Nur für den Fall, dass Sie xcode beta verwenden:

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer
Andrey Deineko
quelle
8

Ich musste das zuerst ausführen

sudo xcode-select --reset

dann

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

und dann hat es funktioniert.

Hamoonist
quelle
5
Für mich wurde das Problem nach dem Ausführen des ersten Befehls behoben. Das Ausführen des zweiten Befehls hat die Sache wieder kaputt gemacht. Also nur der erste (in meinem Fall). Vielen Dank.
Nate
Ich stimme dem zu, nur --resetdas Problem zu beheben
Peter Lamberg
7
  1. Laden Sie Xcode aus dem App Store herunter.

  2. Gehen Sie zu Xcode-Einstellungen / Standorte / CommandlineTools

    Sie müssen es nur auf die Xcode-Version einstellen. Es zeigt automatisch auf '/Application/Xcode.app'

Rahul Shenoy
quelle
3

Installieren Sie Xcode aus dem App Store. Führen Sie nach der Installation xcodebuild mit Root-Rechten aus, dh sudo xcodebuildakzeptieren Sie die Sprache. Danach hat es npm install bcryptwie ein Zauber gewirkt!

Sandeepkohli
quelle
3

Ohne Xcode: Erstelle eine Datei /usr/local/bin/xcodebuildmit Inhalten, um XcodeSelect zu betrügen

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild

Javamonk
quelle
Ich muss sagen, dass ich aus irgendeinem Grund Probleme mit Node-Gyp habe, xcodebuildwenn ich nur CLT installiert habe. Ich möchte Xcode lieber nicht installieren, nur um einige native Erweiterungen zu installieren, die nichts mit der Mac- und iOS-Entwicklung zu tun haben. Daher bin ich sehr bereit, diese Technik auszuprobieren, um den Fehler einfach zu beenden. Wissen Sie, ob dies Auswirkungen hat? Ich kann mir nur vorstellen, dass Node-Gyps xcodebuildaus einem bestimmten Grund aufrufen , und indem exit 0wir dies tun, brechen wir die Toolchain für einen bestimmten Build, aber ich bin mir nicht sicher, da ich nicht weiß, warum es xcodebuildin der verwendet wird erster Platz. Irgendwelche Ideen?
Alexrussell
1
Ich habe es versucht, es machte leider keinen Unterschied. Ich möchte XCode wirklich nicht installieren - dies ist nur eine Apple Marketing BS, die Sie zur Installation zwingt.
Alex
2

Wenn Sie Xcode Beta verwenden, führen Sie es aus

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

anstatt

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
M.Sobhy
quelle
2

Ich konnte diesen Fehler ohne beheben beheben, die vollständige Xcode-Anwendung installieren. Sie müssen jedoch xcode-Befehlszeilentools installiert haben.

Von hier aus :

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (Ein Backup für alle Fälle)
  3. $ vim xcodebuild
  4. Fügen Sie Folgendes ein:
#!/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
JBis
quelle
Gute Antwort. Schätzen Sie auch, dass Sie auf die Originalquelle verweisen. :)
Monomeeth
1

XCode2: sudo xcode-select -s / Applications / Xcode \ 2.app/Contents/Developer

Achten Sie auf das "\", um dem Raum zu entkommen

Turibbio
quelle
1

Ich hatte zwei Instanzen von Xcode installiert xcode.app und xcode-beta.app Als ich versuchte, einen Build mit NetBeans zu erstellen, wurde der Fehler "Unterstützte Version von Xcode und Befehlszeilentools, die NetBeans nicht gefunden haben" angezeigt.

Ich habe die folgenden Schritte ausgeführt:

  1. "xcode-select --print-path" ist gleich "/Applications/Xcode.app/Contents/Developer".
  2. "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform" ist vorhanden
  3. "xcodebuild -version" beginnt mit "Xcode"

Nach 1 stellte ich fest, dass es mich auf xcode-beta.app zeigt

Also hier ist die Lösung, die wie ein Zauber funktioniert hat:

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

Shashank Saxena
quelle
1

Für den Kontext ist heute der 28. Januar 2019 .

Auf meinem Mac habe ich zwei Dinge getan, um dieses Problem zu beheben:

  1. Führen Sie den folgenden Befehl in Ihrem Terminal aus:
    sudo xcode-select --install

  2. Starten Sie Ihren Mac neu.

Bis zum Neustart des Computers trat das Problem in meinem Android Studio weiterhin auf. Nach dem Neustart funktionierte es einwandfrei. Beachten Sie auch, dass ich keine --switchBefehle ausgeführt habe , wie es andere tun. Ich hoffe das hilft.

Steve
quelle
1

Ich hatte das gleiche Problem in der High Sierra. Durch Ausführen des folgenden Befehls wurde das Problem gelöst. npm explore npm -g - npm install node-gyp @ latest

Luja Shrestha
quelle
1
Das ist für mich gearbeitet, außer ich einfach neu installiert mitnpm -g install node-gyp@latest
ty.
1

Bitte befolgen Sie die folgenden Schritte:

  1. Die neueste Version von Xcode kann von https://developer.apple.com/xcode/download/ heruntergeladen werden.
  2. Sofern nicht anders angegeben, wird es in den "Downloads" heruntergeladen . Bitte überprüfen Sie den Pfad, in den Sie den Xcode heruntergeladen und extrahiert haben
  3. Im Gegensatz zu anderen heruntergeladenen Anwendungen bietet Xcode beim Extrahieren keine Option zum Verschieben in Anwendungen
  4. Notieren Sie sich die XCODE-ACTUAL-LOCATION oder verschieben Sie sie in die Anwendungen
  5. Hinweis, wenn Sie Xcode oder Xcode-Beta heruntergeladen haben

Führen Sie basierend auf 4 und 5 einen der Befehle aus (führen Sie nicht alle aus, ohne die obige Beschreibung zu lesen):

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
Nikhil Maheshwari
quelle
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"

weil mein Xcode-Name in der Anwendung "Xcode 10" ist,

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

funktioniert.

Languoguang
quelle
0

In meinem Fall,

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

hat nicht funktioniert, weil mein Xcode einen speziellen Namen hatte. zB) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

Dann habe ich meinen Xcode-Namen gefunden und ihn durch ersetzt

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

Es hat bei mir funktioniert.

Jaeseok Jay An
quelle
0

Keines der oben genannten hat bei mir funktioniert. Ich habe die Befehlszeilentools ursprünglich separat installiert und dann den gesamten Xcode. Was für mich funktioniert hat, war die Deinstallation der Befehlszeilentools wie hier gezeigt . Dann beim Versuch zu rennenxcode-select ich erneut , wurde ich gebeten, sie neu zu installieren.

* Der Grund, warum ich diesen Thread gefunden habe, war übrigens, dass ich einige Bibliotheken (insbesondere gcc) mit installiert hatte macports, vermutlich mit den alten Befehlszeilentools, und dann den vollständigen Xcode in der Mitte der Entwicklung installiert hatte. In meinem Fall musste ich jedenfalls neu installieren, macportsnachdem ich die eigenständigen Befehlszeilentools entfernt, neu installiert, neu installiert gccund dann meine Kompilierung funktioniert hatte.

legel
quelle
0

Es sind nur zwei Schritte erforderlich, und die vollständige XCode.app ist überhaupt nicht erforderlich:

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

Zu diesem Zeitpunkt wird das Dialogfeld "Installieren von Software" angezeigt:

Geben Sie hier die Bildbeschreibung ein

Das ist es!

Mark Richman
quelle
0

Einfache Neuinstallation von xcode-select

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Semir Hodzic
quelle