Bagaimana cara memeriksa apakah alat baris perintah diinstal

104

Saya memiliki macbook pro dengan OS X 10.8.2. XCode diinstal. Saya tahu ini seperti yang muncul di direktori Aplikasi. Ada juga file xcodebuild dan xcode-pilih di / usr / bin. Saya perlu tahu apakah alat baris perintah sudah diinstal. Apakah ada perintah untuk itu? Apa yang dapat saya lakukan untuk melihat apakah XCode CLT diinstal dan jika ya untuk mengetahui versi yang diinstal?

Vivek Nandavanam
sumber
Versi XCode adalah 4.6
Vivek Nandavanam

Jawaban:

104

10.14 Pembaruan Mojave:

Lihat Pembaruan Yosemite.

Pembaruan 10.13 High Sierra:

Lihat Pembaruan Yosemite.

10.12 Pembaruan Sierra:

Lihat Pembaruan Yosemite.

10.11 Pembaruan El Capitan:

Lihat Pembaruan Yosemite.

10.10 Pembaruan Yosemite:

Cukup masukkan gccatau makedi baris perintah! OSX akan mengetahui bahwa Anda tidak memiliki alat baris perintah dan meminta Anda untuk menginstalnya!

Untuk memeriksa apakah ada, xcode-select -pakan mencetak direktori. Alternatifnya, nilai yang dikembalikan adalah 2jika TIDAK ada, dan 0jika memang ada. Untuk hanya mencetak nilai pengembalian ( terima kasih @Andy ):

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

10.9 Pembaruan Mavericks:

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

10.8 Pembaruan:

Opsi 1: Rob Napier menyarankan untuk menggunakan pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI, yang mungkin lebih bersih.

Opsi 2: Periksa ke dalam /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plistuntuk referensi com.apple.pkg.DeveloperToolsCLIdan itu akan mencantumkan versinya 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
sumber
1
Saya menemukan bahwa membuka xcode> Preferensi> Unduhan> Komponen memiliki entri Alat Baris Perintah yang dalam status pembaruan dan ketika saya memperbaruinya, itu menunjukkan status terinstal
Vivek Nandavanam
7
Daripada membuka /var/db/receiptsdirektori, Anda dapat menggunakan API untuk itu:pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
Rob Napier
8
Saya mungkin salah, tetapi nama tanda terima sekarang CLTools_Executablessetidaknya hanya itu yang saya temukan di bawah OS Mavericks. Perintahnya adalah:pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
Chris
1
memperhatikan hal yang sama seperti Jordan. xcode-select tidak mengembalikan int, hanya jalur
Damon
1
Saya memasukkan xcode-select-p, hanya untuk mendapatkan /Applications/Xcode.app/Contents/Developer. Apa artinya?
pelajari
77

Yosemite

Berikut adalah beberapa langkah tambahan pada Mac baru yang mungkin dibutuhkan sebagian orang. Ini menambah sedikit jawaban yang sangat bagus dari @ jnovack.

Pembaruan: Beberapa catatan lain saat mengatur ini:

Pastikan pengguna admin Anda memiliki kata sandi. Kata sandi kosong tidak akan berfungsi saat mencoba mengaktifkan pengguna root.

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

Kemudian untuk mengaktifkan root, jalankan dsenablerootdi terminal:

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

dsenableroot:: ***Successfully enabled root user.

Ketik kata sandi pengguna admin, lalu kata sandi root baru yang diaktifkan dua kali.

Jenis selanjutnya:

sudo gcc

atau

sudo make

Ini akan merespons dengan sesuatu seperti berikut:

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.

Tekan enter saat diminta untuk menampilkan perjanjian lisensi kepada Anda.

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:

//...

Tekan quntuk keluar dari tampilan perjanjian lisensi.

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]

Ketik agree. Dan kemudian akan diakhiri dengan:

clang: error: no input files 

Yang pada dasarnya berarti Anda tidak memberi makeatau gccfile input apa pun.

Seperti inilah tampilan cek itu:

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

Mavericks

Dengan Mavericks, sekarang sedikit berbeda.

Ketika alat TIDAK ditemukan, inilah yang pkgutildikembalikan oleh perintah:

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

Untuk menginstal alat baris perintah, ini bekerja dengan baik dari Terminal, dengan gui yang bagus dan semuanya.

$ xcode-select --install

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

Ketika mereka ditemukan, inilah yang pkgutildikembalikan oleh perintah:

$ 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 

Perintah ini mengembalikan hal yang sama sebelum dan setelah penginstalan.

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

Saya juga memiliki komponen untuk CLT yang dipilih dan diinstal di bagian unduhan xcode sebelumnya, tetapi sepertinya itu tidak berhasil mencapai terminal ...

Semoga membantu.

phyatt.dll
sumber
Bisakah Anda memperbarui jawaban ini untuk sistem operasi terbaru? Terima kasih.
Sparky
Saya menelepon sudo rm -rf / Library / Developer / CommandLineTools dan kemudian xcode-select --install.
Oleksii Kyslytsyn
31

Untuk memeriksa apakah alat baris perintah diinstal, jalankan:

xcode-select --version

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

Jika alat baris perintah tidak diinstal, jalankan:

xcode-select --install
pengguna3476766
sumber
1
Sederhana dan efektif. Mungkin jawaban terbaik.
Bryan P
12

Di macOS Sierra (10.12):

  1. Jalankan perintah berikut untuk melihat apakah CLT diinstal:

    xcode-select -p

    ini akan mengembalikan jalur ke alat jika CLT sudah diinstal. Sesuatu seperti ini -

    /Applications/Xcode.app/Contents/Developer
  2. Jalankan perintah berikut untuk melihat versi CLT:

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

    ini akan mengembalikan info versi, keluaran akan menjadi seperti ini -

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

Di macOS Catalina , dan mungkin beberapa versi sebelumnya, Anda dapat mencari tahu di mana alat baris perintah diinstal menggunakan:

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

Yang akan, jika dipasang, merespons dengan sesuatu seperti:

/Library/Developer/CommandLineTools

Untuk mengetahui versi mana yang telah Anda instal di sana, Anda dapat menggunakan:

xcode-select -v alias xcode-select --version

Yang akan mengembalikan sesuatu seperti:

xcode-select version 2370.

Namun , jika Anda mencoba memutakhirkannya ke versi terbaru, dengan asumsi sudah terpasang, gunakan ini:

xcode-select --install

Anda akan menerima tanggapan:

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

Yang agak keliru memberi kesan Anda perlu menggunakan Spotlight menemukan sesuatu yang disebut 'Pembaruan Perangkat Lunak'. Sebenarnya, Anda harus melanjutkan di Terminal, dan menggunakan ini:

softwareupdate -i -a alias softwareupdate --install --all

Yang mencoba memperbarui semua yang dapat dan mungkin merespons dengan:

Software Update Tool

Finding available software
No new software available.

Untuk mengetahui versi mana dari berbagai Apple SDK yang diinstal pada komputer Anda, gunakan ini:

xcodebuild -showsdks

Paul F. Wood
sumber
3

Saya pikir cara paling sederhana yang berhasil bagi saya untuk menemukan alat baris perintah diinstal atau tidak dan versinya terlepas dari apa versi macOS

$brew config

macOS: 10.14.2-x86_64
CLT: 10.1.0.0.1.1539992718
Xcode: 10.1

Ini ketika Anda memiliki alat Baris Perintah terpasang dengan benar dan jalur diatur dengan benar.

Sebelumnya saya mendapat output seperti di bawah ini
macOS: 10.14.2-x86_64
CLT: N / A
Xcode: 10.1

CLT ditampilkan sebagai N / A meskipun memiliki gcc dan membuatnya berfungsi dengan baik dan di bawah keluaran

$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.

Akhirnya melakukan xcode-select --install menyelesaikan masalah saya brew tidak dapat menemukan CLT untuk menginstal paket seperti di bawah ini.

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
sumber
1

Buka Aplikasi> Xcode> preferensi> unduhan

Anda harus melihat alat baris perintah di sana untuk Anda instal.

Bruno
sumber
0

Karena Xcode memasukkan alat CLI jika diinstal terlebih dahulu, saya menggunakan hibrid berikut yang telah divalidasi pada 10.12 dan 10.14. Saya berharap ini berfungsi pada banyak versi lain:

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

Garam dengan awksecukupnya untuk logika percabangan.

Tentu saja xcode-select -pmenangani variasi dengan perintah yang sangat singkat tetapi gagal memberikan paket rinci, versi, dan metadata tanggal pemasangan.

BaseZen
sumber
0

Buka terminal Anda dan periksa untuk melihat apakah Anda sudah menginstal Xcode dengan ini:

xcode-select -p

sebagai imbalannya, jika Anda mendapatkan ini:

/Library/Developer/CommandLineTools

Itu berarti Anda telah menginstal Xcode.

Cara lain Anda dapat memeriksa apakah Anda telah menginstal "HomeBrew" Anda dapat menggunakan perintah berikut untuk melihat apakah Anda memiliki Xcode dan versinya:

brew config

Dan terakhir, jika Anda tidak memiliki Xcode, ikuti tautan ini untuk mengunduh Xcode dari Appstore. Xcode dari App Store .

Semoga berhasil.

ZaMy
sumber