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

quelle
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
Juanan
quelle
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.

loganfsmyth
quelle
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

Muhammed Irfan
quelle
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

Carlodurso
quelle
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

Zinken
quelle
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 .

suite22
quelle
0

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

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

Turibbio
quelle
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.

AnneTheAgile
quelle
-3

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

moreaug44
quelle