Xcodebuild kann auf Mavericks mit installierten Befehlszeilentools nicht verwendet werden


92

Ich habe die Befehlszeilentools installiert:

$ xcode-select --print-path
/Library/Developer/CommandLineTools

Wenn jedoch etwas zu verwenden versucht, xcodebuildwird der folgende Fehler angezeigt:

$ /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?

Hinweis: Dies ist eine Neuinstallation von Mavericks.

Update: Nur um zu zeigen, ich habe die Befehlszeilentools installiert:

$ 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

1
Hier tritt das gleiche Problem auf, wenn versucht wird, einige Knotenmodule zu erstellen. Hoffentlich ist eine schnelle Problemumgehung verfügbar.
Wikipedia

Ich habe ein Problem erstellt node-gyp, da dies die

Möglicherweise müssen Sie Xcode installieren. So sieht meine gcc --version aus Konfiguriert mit: --prefix = / Applications / Xcode.app / Contents / Developer / usr --with-gxx-include-dir = / Applications / Xcode.app / Contents / Developer / Platforms /MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM Version 5.0 (clang-500.2.79) (basierend auf LLVM 3.3svn) Ziel: x86_64-apple-darwin13. 0.0 Fadenmodell: posix
Martin Christmann

1
Vielleicht haben Sie Recht, nur seltsam, dass es auf Mountain Lion mit installierten Befehlszeilentools nicht erforderlich war.

Ich nehme an, du hast es getan xcode-select --install. Mit Xcode installiert xcode-select --print-pathdruckt/Applications/Xcode.app/Contents/Developer
mb21

Antworten:


63

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

14
Beachten Sie, dass es um das Erstellen mit installierten Befehlszeilentools geht. Wenn Sie zu Xcode.app wechseln, erstellen Sie über Xcode (was die Frage versucht, die Installation zu vermeiden).
Bryanmac

23

Es scheint, dass OSX so geändert wurde xcodebuild, dass XCodees installiert werden muss, bevor es ordnungsgemäß funktioniert hat und nur die OSX-Befehlszeilentools installiert sind.

Alte halbbezogene Antwort

Viele Leute sind mit Node darauf gestoßen. Knoten des Build - Tool, gypverwendet xcodebuildfür die Erstellung der Knoten Pakete vorzubereiten. Mavericks hat das Verhalten von xcodebuildso geändert , dass es nicht mehr richtig funktioniert gyp. Dies wird derzeit behoben. Siehe das Node-Gyp-Problem

Sobald die Änderungen in NPM bereitgestellt wurden, können Sie das neue node-gypPaket installieren und ordnungsgemäß kompilieren. Sie müssen auch Ihre NPM-Version aktualisieren, sobald die Änderungen in NPM übernommen wurden.


Keine Ahnung, warum dies mit dem Knoten verbunden ist. Ich versuche, mit Xcode etwas anderes zu
erstellen

Genau, xcodebuild löst immer noch einen Fehler aus, wenn Sie ihn über die Befehlszeile aufrufen ... Ich habe die neuesten Befehlszeilentools von der Apple Developer Website developer.apple.com/downloads/index.action#
alexserver

16

Bitte gehen Sie zuerst zum Finder, wählen Sie dann im linken Bereich Anwendungen aus, suchen Sie als nächstes 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 Beta-Version von Xcode helfen

Vielen Dank


9

Dieses Problem war aufgrund Xcode-select Entwickler Verzeichnis zeigt auf /Library/Developer, der nur den Ordner enthalten CommandLineTools. Zu diesem Zweck beschwert sich die Fehlermeldung darüber, dass das Verzeichnis nicht mit Xcode identisch ist.

Zwei getestete Lösungen:

  1. Xcode (neu) installieren.

  2. Zeigen Sie mit xcode-select mit dem folgenden Befehl auf das Xcode Developer Directory :

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

Verweise:

So beheben Sie Fehler wie "xcode-select: error: Für das Tool 'xcodebuild' ist Xcode erforderlich, aber das aktive Entwicklerverzeichnis * BROKEN LINK *

xcode-select aktiver Entwicklerverzeichnisfehler


Link 1 ist kaputt
anki

2

Ich habe Xcode aus dem App Store neu installiert, wodurch dieses Problem behoben wurde. Ich denke, meine vorherige Installation ist nicht vollständig installiert


1

Es gibt auch eine grafische Benutzeroberfläche zum Ändern des Pfads der Befehlszeilentools unter Xcode> Einstellungen> Speicherorte:

Xcode> Einstellungen> Standorte

Ich hatte dieses Problem gerade nach dem Upgrade auf Xcode 10.3, während ich eine ältere Kopie von 10.2.1 in einem Unterordner in Applications aufbewahrte. Als ich dieses Fenster "Standorte" öffnete, war die Auswahl für Befehlszeilentools leer, aber ich konnte zwischen den beiden installierten Versionen wählen:

Dropdown-Liste zur Auswahl der Befehlszeilentools

Ich tendiere dazu, die GUI-Option zu verwenden, wenn sie verfügbar ist, anstatt sudoBefehle von SO zu kopieren .


0

Wenn Sie XCode2 verwenden: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

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


0

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. Durch das Umbenennen der App wurde das Problem der Beschwerde durch xcode-select behoben. Dies scheint darauf hinzudeuten, dass sich der reguläre App-Name auf dem Suchpfad befindet, Varianten jedoch nicht.


-3

AFAIK, Befehlszeilentools in Mavericks werden in /Applications/Xcode.app/Contents/Developer installiert, was tendenziell impliziert, dass Xcode erforderlich ist. Undokumentierte Funktion wahrscheinlich.

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.