FEHLER: „xcodebuild“ erfordert Xcode

BEOBACHTUNGEN

Ich hatte nicht erwartet, dass der Befehl einen Fehler zurückgibt:

/usr/bin/xcodebuild -version( Referenz ) gibt einen Fehler zurück:

xcode-select: Fehler: Das Tool „xcodebuild“ erfordert Xcode, aber das aktive Entwicklerverzeichnis „/Library/Developer/CommandLineTools“ ist eine Befehlszeilen-Tools-Instanz

ls -l /usr/bin/xcodebuildkehrt zurück:

-rwxr-xr-x 1 Wurzelrad 31488 27. Mai 19:37 /usr/bin/xcodebuild

xcodebuild -versionkehrt zurück:

xcode-select: Fehler: Das Tool „xcodebuild“ erfordert Xcode, aber das aktive Entwicklerverzeichnis „/Library/Developer/CommandLineTools“ ist eine Befehlszeilen-Tools-Instanz

gcc --versionkehrt zurück:

Konfiguriert mit: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple-Clang-Version 11.0.3 (clang-1103.0.32.62) Ziel: x86_64-apple-darwin19.5.0 Thread-Modell: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin

FRAGEN

Warum wird bei der ersten Beobachtung ein Fehler zurückgegeben und welche Abhilfemaßnahmen gibt es?

Wie kann ich testen (ohne etwas zu installieren, um festzustellen, ob ich das hier beschriebene Problem habe ?

Ich mache mir Sorgen, dass das Active Directory geändert wird

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

Probleme mit Brew oder anderen installierten Apps verursachen. Obwohl es scheint, dass mein Active Directory und die vorgeschlagene Änderung identisch sind.

AKTUALISIERUNG

$ ls -l /Applications/
total 0
drwxr-xr-x  4 user  admin  128 Jul 26 00:06 Polyspace
drwxr-xr-x@ 3 root  wheel   96 Apr 23 00:52 Safari.app
drwxr-xr-x@ 3 user  staff   96 Sep 30  2019 Sublime Text.app
drwxr-xr-x@ 3 user  staff   96 May 15 20:06 Transmission.app
drwxr-xr-x  4 root  wheel  128 May 27 19:31 Utilities
$ ls /usr/bin | grep -I Xcode
xcode-select
xcodebuild
Was ist der Zweck der Aktualisierungen, die Sie an der Frage vorgenommen haben? Außerdem scheint oyu die Antwort bereits in stackoverflow.com/questions/17980759/… gefunden zu haben , warum sind Sie besorgt darüber, den dort gegebenen Ratschlägen zu folgen?
Danke für die Antwort: Ich glaube, Xcode wurde installiert, als ich Brew installiert habe. Aufgrund der Updates denke ich, dass Xcode.app (Obermenge von Xcode?) Nicht installiert ist. Meine Sorge ist, dass ich nicht 'zerbrechen' möchte, was auch immer mit dem Gebräu gemacht wurde. Hoffentlich sind meine Bedenken unbegründet.
Xcode.app ist Xcode, dasselbe wie Safari.app Safari .
Ich habe Xcode aus dem App Store installiert und den vorgeschriebenen xcode-selectBefehl ausgeführt. Die Xcode-Version wird jetzt zurückgegeben

Antworten (2)

Vorausgesetzt, Ihre Xcode.app ist installiert, /Applicationskönnen Sie sie einfach ausführen

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

um dies zu beheben.

Warum wird in der ersten Beobachtung ein Fehler zurückgegeben

Weil xcodebuildausführbar in /usr/binohne Xcode-App nicht sinnvoll ist.

Ich mache mir Sorgen, dass das Ändern des Active Directory ... Probleme mit Brew oder anderen installierten Apps verursachen wird.

Nein, tut es nicht. Wenn Xcode installiert ist, erhalten Sie durch Festlegen des xcode-selectPfads zur Xcode-App weitere Funktionen: insbesondere xcodebuildwas zum Erstellen von Xcode-Projekten aus cmakeusw. erforderlich ist.

Das Command Line Tools-Paket installiert die macOS-Systemheader im macOS SDK. Software, die mit den installierten Tools kompiliert wird, sucht nach Headern im macOS SDK, das von Xcode bereitgestellt wird, unter: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk

oder die Befehlszeilentools unter:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

je nachdem, was mit xcode-select ausgewählt wird. Die Befehlszeilentools durchsuchen standardmäßig das SDK nach Systemheadern.

Quelle: https://developer.apple.com/documentation/xcode-release-notes/xcode-10-release-notes

Es wird also kein Problem geben, solange das betreffende Tool mit SDK funktioniert und nicht von Unix-ähnlichen /usr/includePfaden abhängig ist.

Obwohl es scheint, dass mein Active Directory und die vorgeschlagene Änderung identisch sind.

Drucken Sie es im Zweifelsfall aus:

xcode-select --print-path
xcode-select -p

Lesen Sie die Manpage: man xcode-selectfür mehr.