Ich habe die Befehlszeilentools installiert:
$ xcode-select --print-path
/Library/Developer/CommandLineTools
Wenn jedoch irgendetwas versucht, xcodebuild
zu verwenden, erhalte ich den folgenden Fehler:
$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Auf Mountain Lion war es möglich, dies zu verwenden, ohne den gesamten Xcode zu installieren, sondern nur die Befehlszeilentools. Ist das bei Mavericks möglich? Wie kann ich es zum Laufen bringen?
N.B. Dies ist eine Neuinstallation von Mavericks.
pdate: Nur um zu zeigen, dass ich die Befehlszeilentools installiert habe:
$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-Apple-darwin13.0.0
Thread model: posix
Ich weiß, dass dies eine späte Antwort ist, aber in meinem Fall hat dieser Befehl das Problem gelöst:
Sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Offenbar hat OSX xcodebuild
so geändert, dass XCode
installiert werden muss, bevor es ordnungsgemäß funktioniert, wenn nur die OSX-Befehlszeilentools installiert sind.
Viele Leute sind mit Node darauf gestoßen. Das Build-Tool des Knotens, gyp
, verwendet xcodebuild
, um das Kompilieren von Knotenpaketen vorzubereiten. Mavericks hat das Verhalten von xcodebuild
geändert, sodass es mit gyp
nicht mehr richtig funktioniert. Dies wird gerade behoben. Siehe das Node-Gyp-Problem
Sobald die Änderungen in NPM implementiert wurden, können Sie das neue node-gyp
richtig packen und kompilieren. Sie müssen auch Ihre NPM-Version aktualisieren, sobald die Änderungen in NPM übernommen wurden.
Gehen Sie zuerst zum Finder, wählen Sie dann im linken Fenster Anwendungen aus, suchen Sie nach Xcode und prüfen Sie, ob der Name Xcode oder Xcode-Beta ist
Wenn der Name Xcode-Beta ist, geben Sie diesen Befehl im Terminal ein:
Sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer
Wenn der Name Xcode ist, geben Sie diesen Befehl ein:
Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Hoffe, diese Antwort könnte Benutzern mit einer Beta-Version von Xcode helfen
Vielen Dank
Dieses Problem wurde dadurch verursacht, dass xcode-select Entwicklerverzeichnis auf /Library/Developer
Zeigte, das nur den Ordner CommandLineTools
enthielt. Zu diesem Zweck wird in der Fehlermeldung beanstandet, dass das Verzeichnis nicht mit Xcode identisch ist.
Zwei getestete Lösungen:
Xcode (neu) installieren.
Zeigen Sie mit dem folgenden Befehl xcode-select in das Xcode Developer Directory :
Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Referenzen:
So beheben Sie Fehler wie "xcode-select: error: tool 'xcodebuild' erfordert Xcode, aber aktives Entwicklerverzeichnis * BROKEN LINK *
Ich habe Xcode aus dem App Store neu installiert, wodurch dieses Problem behoben wurde. Ich vermute, meine vorherige Installation ist nicht vollständig installiert
Heute hatte ich dieses Problem und das Problem war, dass ich eine manuelle Installation von xcode verwendete und die Datei Xcode8.3.2.app anstelle von Xcode.app hatte. Das Umbenennen der App behebt das Problem der Beschwerde bei xcode-select. Dies scheint darauf hinzudeuten, dass der reguläre App-Name im Suchpfad enthalten ist, Varianten jedoch nicht.
Es gibt auch eine GUI, mit der Sie den Pfad der Befehlszeilentools unter Xcode> Einstellungen> Speicherorte ändern können:
Ich hatte gerade dieses Problem nach dem Upgrade auf Xcode 10.3, während ich eine ältere Version von 10.2.1 in einem Unterordner von Applications aufbewahrte. Als ich dieses Fenster "Speicherorte" öffnete, war die Auswahl für die Befehlszeilentools leer, aber ich konnte zwischen den beiden installierten Versionen wählen:
Ich tendiere dazu, die GUI-Option zu wählen, wenn sie verfügbar ist, anstatt Sudo
Befehle von SO zu kopieren.
Wenn Sie XCode2 verwenden: Sudo xcode-select --switch/Applications/Xcode\2.app/Contents/Developer
Achten Sie auf das "\", um den Raum zu verlassen.