So überprüfen Sie, ob Befehlszeilentools installiert sind

103

Ich habe ein MacBook Pro mit OS X 10.8.2. XCode ist installiert. Ich weiß das, wie es im Anwendungsverzeichnis erscheint. Es gibt auch die Dateien xcodebuild und xcode-select in / usr / bin. Ich muss wissen, ob die Befehlszeilentools installiert sind. Gibt es einen Befehl dafür? Was kann ich tun, um festzustellen, ob XCode CLT installiert ist, und wenn ja, um die installierte Version zu finden?

Vivek Nandavanam
quelle
Die Version von XCode ist 4.6
Vivek Nandavanam

Antworten:

104

10.14 Mojave-Update:

Siehe Yosemite-Update.

10.13 High Sierra Update:

Siehe Yosemite-Update.

10.12 Sierra Update:

Siehe Yosemite-Update.

10.11 El Capitan Update:

Siehe Yosemite-Update.

10.10 Yosemite Update:

Einfach in gccoder makeüber die Kommandozeile eingeben ! OSX wird wissen, dass Sie nicht über die Befehlszeilentools verfügen, und Sie auffordern, diese zu installieren!

Um zu überprüfen, ob sie vorhanden sind, xcode-select -pwird das Verzeichnis gedruckt. Alternativ ist der Rückgabewert, 2wenn sie NICHT existieren und 0wenn sie existieren. So drucken Sie einfach den Rückgabewert aus ( danke @Andy ):

xcode-select -p 1>/dev/null;echo $?

10.9 Mavericks Update:

Verwenden pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

10.8 Update:

Option 1: Rob Napier schlug die Verwendung vor pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI, die wahrscheinlich sauberer ist.

Option 2: Suchen Sie im Inneren /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plistnach einem Verweis auf com.apple.pkg.DeveloperToolsCLIund es wird die Version aufgelistet 4.5.0.

[Mar 12 17:04] [jnovack@yourmom ~]$ defaults read /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist
{
    InstallDate = "2012-12-26 22:45:54 +0000";
    InstallPrefixPath = "/";
    InstallProcessName = Xcode;
    PackageFileName = "DeveloperToolsCLI.pkg";
    PackageGroups =     (
        "com.apple.FindSystemFiles.pkg-group",
        "com.apple.DevToolsBoth.pkg-group",
        "com.apple.DevToolsNonRelocatableShared.pkg-group"
    );
    PackageIdentifier = "com.apple.pkg.DeveloperToolsCLI";
    PackageVersion = "4.5.0.0.1.1249367152";
    PathACLs =     {
        Library = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
        System = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    };
}
jnovack
quelle
1
Ich fand, dass das Öffnen von xcode> Einstellungen> Downloads> Komponenten einen Befehlszeilentools-Eintrag hatte, der sich im Aktualisierungsstatus befand, und wenn ich ihn aktualisierte, wird der Status als installiert
angezeigt
7
Anstatt in das /var/db/receiptsVerzeichnis zu greifen, können Sie die API dafür verwenden:pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
Rob Napier
8
Ich könnte mich irren, aber der Name der Quittung ist jetzt CLTools_Executableszumindest das, was ich unter OS Mavericks finde. Der Befehl wäre dann:pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
Chris
1
bemerkte dasselbe wie Jordan. Die Xcode-Auswahl gibt kein Int zurück, nur den Pfad
Damon
1
Ich habe xcode-select-p eingegeben, nur um /Applications/Xcode.app/Contents/Developer zu erhalten. Was heißt das?
Studie
77

Yosemite

Im Folgenden finden Sie einige zusätzliche Schritte für einen neuen Mac, die einige Benutzer möglicherweise benötigen. Dies trägt ein wenig zu @ jnovacks hervorragender Antwort bei.

Update: Einige weitere Hinweise beim Einrichten:

Stellen Sie sicher, dass Ihr Administrator ein Kennwort hat. Ein leeres Kennwort funktioniert nicht, wenn versucht wird, einen Root-Benutzer zu aktivieren.

System Preferences > Users and Groups > (select user) > Change password

Führen Sie dann zum Aktivieren von root dsenablerootein Terminal aus:

$ dsenableroot
username = mac_admin_user
user password:
root password:
verify root password:

dsenableroot:: ***Successfully enabled root user.

Geben Sie das Kennwort des Administrators und dann zweimal das neue aktivierte Root-Kennwort ein.

Nächster Typ:

sudo gcc

oder

sudo make

Es wird wie folgt antworten:

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:


You have not agreed to the Xcode license agreements. You must agree to 
both license agreements below in order to use Xcode.

Drücken Sie die Eingabetaste, wenn Sie aufgefordert werden, die Lizenzvereinbarung anzuzeigen.

Hit the Enter key to view the license agreements at 
'/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

IMPORTANT: BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE 
FOLLOWING APPLE TERMS:

//...

Drücken Sie q, um die Ansicht der Lizenzvereinbarung zu verlassen.

By typing 'agree' you are agreeing to the terms of the software license 
agreements. Type 'print' to print them or anything else to cancel, 
[agree, print, cancel]

Typ agree. Und dann endet es mit:

clang: error: no input files 

Was im Grunde bedeutet , dass Sie nicht geben makeoder gccirgendwelche Eingabedateien.

So sah der Scheck aus:

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

Außenseiter

Bei Mavericks ist das jetzt etwas anders.

Wenn die Werkzeuge NICHT gefunden wurden, gab der Befehl pkgutilBefehl Folgendes zurück:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

Um die Kommandozeilen-Tools zu installieren, funktioniert dies gut vom Terminal aus, mit einer netten GUI und allem.

$ xcode-select --install

http://macops.ca/installing-command-line-tools-automatically-on-mavericks/

Als sie gefunden wurden, gab der pkgutilBefehl Folgendes zurück:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.0.1.0.1.1382131676
volume: /
location: /
install-time: 1384149984
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group 

Dieser Befehl hat vor und nach der Installation denselben Befehl zurückgegeben.

$ pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

Ich hatte auch die Komponente für das CLT ausgewählt und im Download-Bereich von xcode installiert, aber es scheint, als hätte sie es nicht zum Terminal geschafft ...

Hoffentlich hilft das.

Phyatt
quelle
Können Sie diese Antwort für die neuesten Betriebssysteme aktualisieren? Vielen Dank.
Sparky
Ich habe sudo rm -rf / Library / Developer / CommandLineTools aufgerufen und dann xcode-select --install.
Oleksii Kyslytsyn
31

So überprüfen Sie, ob Befehlszeilentools installiert sind:

xcode-select --version

// if installed you will see the below with the version found in your system
// xcode-select version 1234.

Wenn keine Befehlszeilentools installiert sind, führen Sie Folgendes aus:

xcode-select --install
user3476766
quelle
1
Einfach und effektiv. Könnte die beste Antwort sein.
Bryan P
12

Unter macOS Sierra (10.12):

  1. Führen Sie den folgenden Befehl aus, um festzustellen, ob CLT installiert ist:

    xcode-select -p

    Dadurch wird der Pfad zum Tool zurückgegeben, wenn CLT bereits installiert ist. Etwas wie das -

    /Applications/Xcode.app/Contents/Developer
  2. Führen Sie den folgenden Befehl aus, um die Version von CLT anzuzeigen:

    pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

    Dies gibt Versionsinformationen zurück, die Ausgabe wird ungefähr so ​​aussehen -

    package-id: com.apple.pkg.CLTools_Executables
    version: 8.2.0.0.1.1480973914
    volume: /
    location: /
    install-time: 1486372375
sahilabrar
quelle
8

In macOS Catalina und möglicherweise in einigen früheren Versionen können Sie herausfinden, wo die Befehlszeilentools installiert sind, indem Sie:

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

Was, wenn es installiert ist, mit etwas antworten wird wie:

/Library/Developer/CommandLineTools

Um herauszufinden, welche Version Sie dort installiert haben, können Sie Folgendes verwenden:

xcode-select -v aka xcode-select --version

Welches wird so etwas wie zurückgeben:

xcode-select version 2370.

Allerdings , wenn Sie versuchen , es auf die neueste Version zu aktualisieren, vorausgesetzt , es installiert ist, mit diesem:

xcode-select --install

Sie erhalten als Antwort:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Was fälschlicherweise den Eindruck erweckt, dass Sie Spotlight verwenden müssen, um etwas zu finden, das als "Software-Update" bezeichnet wird. Tatsächlich müssen Sie im Terminal fortfahren und Folgendes verwenden:

softwareupdate -i -a aka softwareupdate --install --all

Welches versucht, alles zu aktualisieren, was es kann und kann mit:

Software Update Tool

Finding available software
No new software available.

Verwenden Sie Folgendes, um herauszufinden, welche Versionen der verschiedenen Apple SDKs auf Ihrem Computer installiert sind:

xcodebuild -showsdks

Paul F. Wood
quelle
3

Ich denke, der einfachste Weg, Kommandozeilen-Tools zu finden, ist installiert oder nicht, und seine Version, unabhängig davon, um welche MacOS-Version es sich handelt

$brew config

macOS: 10.14.2-x86_64
CLT: 10.1.0.0.1.1539992718
Xcode: 10.1

Dies ist der Fall, wenn Sie die Befehlszeilentools ordnungsgemäß installiert und die Pfade ordnungsgemäß festgelegt haben.

Früher habe ich folgende Ausgabe erhalten
: macOS: 10.14.2-x86_64
CLT: N / A
Xcode: 10.1

CLT wurde trotz gcc als N / A angezeigt und sorgt dafür, dass es gut funktioniert und unter den Ausgängen liegt

$xcode-select -p              
/Applications/Xcode.app/Contents/Developer
$pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
$brew doctor
Your system is ready to brew.

Schließlich hat xcode-select --install mein Problem behoben, dass Brew CLT für die Installation von Paketen wie folgt nicht finden konnte.

Installing sphinx-doc dependency: python
Warning: Building python from source:
  The bottle needs the Apple Command Line Tools to be installed.
  You can install them, if desired, with:
    xcode-select --install
Jagdish Adusumalli
quelle
1

Gehen Sie zu Anwendungen> Xcode> Einstellungen> Downloads

Dort sollten die Befehlszeilentools angezeigt werden, die Sie installieren können.

Bruno
quelle
0

Da Xcode die CLI-Tools bei der ersten Installation zusammenfasst, verwende ich den folgenden Hybrid, der am 10.12 und 10.14 validiert wurde. Ich gehe davon aus, dass es bei vielen anderen Versionen funktioniert:

installed=$(pkgutil --pkg-info=com.apple.pkg.CLTools_Executables 2>/dev/null || pkgutil --pkg-info=com.apple.pkg.Xcode)

Salz mit awknach Verzweigungslogik schmecken.

Natürlich werden xcode-select -pdie Variationen mit einem wirklich kurzen Befehl behandelt, es werden jedoch keine detaillierten Metadaten für Paket, Version und Installationsdatum angegeben.

BaseZen
quelle
0

Öffnen Sie Ihr Terminal und prüfen Sie, ob Xcode bereits installiert ist:

xcode-select -p

im Gegenzug, wenn Sie dies bekommen:

/Library/Developer/CommandLineTools

Das heißt, Sie haben, dass Xcode installiert ist.

Sie können auch überprüfen, ob Sie "HomeBrew" installiert haben. Mit dem folgenden Befehl können Sie feststellen, ob Sie Xcode und die Version haben:

brew config

Wenn Sie den Xcode nicht haben, folgen Sie diesem Link, um den Xcode aus dem Appstore herunterzuladen. Xcode aus dem App Store .

Viel Glück.

ZaMy
quelle