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/xcodebuild
kehrt zurück:
-rwxr-xr-x 1 Wurzelrad 31488 27. Mai 19:37 /usr/bin/xcodebuild
xcodebuild -version
kehrt zurück:
xcode-select: Fehler: Das Tool „xcodebuild“ erfordert Xcode, aber das aktive Entwicklerverzeichnis „/Library/Developer/CommandLineTools“ ist eine Befehlszeilen-Tools-Instanz
gcc --version
kehrt 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
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.
$ 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
Vorausgesetzt, Ihre Xcode.app ist installiert, /Applications
kö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 xcodebuild
ausführbar in /usr/bin
ohne 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-select
Pfads zur Xcode-App weitere Funktionen: insbesondere xcodebuild
was zum Erstellen von Xcode-Projekten aus cmake
usw. 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/include
Pfaden 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-select
für mehr.
kein Hang
Gatorback
kein Hang
Xcode.app
ist Xcode, dasselbe wieSafari.app
Safari .Gatorback
xcode-select
Befehl ausgeführt. Die Xcode-Version wird jetzt zurückgegeben