यदि कमांड लाइन टूल स्थापित है तो कैसे जांचें


104

मैं एक मैकबुक है Pro OS X 10.8.2 के साथ। XCode स्थापित है। मुझे यह पता है क्योंकि यह एप्लिकेशन डायरेक्टरी में दिखाई देता है। / Usr / bin में xcodebuild और xcode-select फाइलें भी हैं, मुझे यह जानने की जरूरत है कि कमांड लाइन टूल इंस्टॉल है या नहीं। क्या इसके लिए कोई आज्ञा है? यदि XCode CLT स्थापित है और यदि स्थापित संस्करण को खोजने के लिए हाँ है तो मैं क्या देख सकता हूँ?


XCode का संस्करण 4.6 है
विवेक नंदवनम

जवाबों:


104

10.14 Mojave अपडेट:

Yosemite अपडेट देखें।

10.13 उच्च सिएरा अपडेट:

Yosemite अपडेट देखें।

10.12 सिएरा अपडेट:

Yosemite अपडेट देखें।

10.11 एल कैपिटन अपडेट:

Yosemite अपडेट देखें।

10.10 योसेमाइट अपडेट:

बस gccया makeकमांड लाइन पर प्रवेश करें ! OSX को पता चल जाएगा कि आपके पास कमांड लाइन टूल नहीं है और आपको उन्हें इंस्टॉल करने के लिए संकेत दिया गया है!

जाँच करने के लिए कि क्या वे मौजूद हैं, xcode-select -pनिर्देशिका को प्रिंट करेगा। वैकल्पिक रूप से, वापसी मूल्य तब होगा 2जब वे मौजूद नहीं हैं, और 0यदि वे करते हैं। केवल रिटर्न वैल्यू प्रिंट करने के लिए ( धन्यवाद @Andy ):

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

10.9 Mavericks अद्यतन:

उपयोग pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

10.8 अपडेट:

विकल्प 1: रॉब नेपियर ने उपयोग करने का सुझाव दिया pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI, जो शायद क्लीनर है।

विकल्प 2:/var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist संदर्भ के लिए अंदर की जाँच करें com.apple.pkg.DeveloperToolsCLIऔर यह संस्करण को सूचीबद्ध करेगा 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";
    };
}

1
मैंने पाया कि Xcode> प्राथमिकताएं> डाउनलोड्स> कंपोनेंट्स में कमांड लाइन टूल्स एंट्री थी, जो अपडेट स्थिति में थी और जब मैंने इसे अपडेट किया, तो यह इंस्टॉल किए गए स्टेटस को दिखाता है
विवेक नंदवानम

7
/var/db/receiptsनिर्देशिका में पहुंचने के बजाय , आप इसके लिए एपीआई का उपयोग कर सकते हैं:pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
रोब नेपियर

8
मुझसे गलती हो सकती है, लेकिन रसीद का नाम अब CLTools_Executablesकम से कम है जो मुझे ओएस मावेरिक्स के तहत मिल रहा है। इसके बाद कमान होगी:pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
क्रिस

1
जॉर्डन जैसी ही चीज देखी। xcode-select एक इंट को वापस नहीं करता है, बस पथ
डेमन

1
मैंने केवल /Applications/Xcode.app/Contents/Developer प्राप्त करने के लिए, xcode-select-p दर्ज किया। इसका क्या मतलब है?
अध्ययन करें

77

Yosemite

नीचे एक ताजा मैक पर कुछ अतिरिक्त कदम हैं जो कुछ लोगों की आवश्यकता हो सकती है। यह @ jnovack के उत्कृष्ट उत्तर में थोड़ा जोड़ता है।

अद्यतन: इसे सेट करते समय कुछ अन्य नोट:

सुनिश्चित करें कि आपके व्यवस्थापक उपयोगकर्ता के पास एक पासवर्ड है। रूट उपयोगकर्ता को सक्षम करने के लिए खाली पासवर्ड काम नहीं करेगा।

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

फिर रूट को सक्षम करने के लिए, dsenablerootटर्मिनल में चलाएं :

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

dsenableroot:: ***Successfully enabled root user.

व्यवस्थापक उपयोगकर्ता का पासवर्ड टाइप करें, फिर नया सक्षम रूट पासवर्ड दो बार।

अगला प्रकार:

sudo gcc

या

sudo make

यह कुछ इस तरह का जवाब देगा:

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.

प्रेस दर्ज करें जब यह आपको लाइसेंस समझौते को दिखाने का संकेत देता है।

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:

//...

qलाइसेंस अनुबंध दृश्य से बाहर निकलने के लिए दबाएँ ।

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]

टाइप करें agree। और फिर यह खत्म हो जाएगा:

clang: error: no input files 

जिसका मूल रूप से मतलब यह है कि आपने makeया gccकोई इनपुट फाइल नहीं दी।

यहाँ वह है जो चेक की तरह दिखता है:

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

मावेरिक्स

Mavericks के साथ, यह अब थोड़ा अलग है।

जब उपकरण नहीं मिले थे, तो यह कमांड pkgutilकमांड वापस आ गया है:

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

कमांड लाइन टूल को स्थापित करने के लिए, यह टर्मिनल से अच्छा गुई और सब कुछ के साथ अच्छी तरह से काम करता है।

$ xcode-select --install

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

जब वे मिल गए, यह वही है जो pkgutilकमांड ने लौटाया:

$ 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 

यह कमांड इंस्टॉल होने से पहले और बाद में वापस आ गया।

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

इसके अलावा, मैं पहले CLcode के डाउनलोड अनुभाग में चयनित और स्थापित CLT के लिए घटक था, लेकिन ऐसा लगता है कि यह टर्मिनल के लिए नहीं बना ...

उम्मीद है की वो मदद करदे।


क्या आप नवीनतम ऑपरेटिंग सिस्टम के लिए इस उत्तर को अपडेट कर सकते हैं? धन्यवाद।
स्पार्की

मैंने sudo rm -rf / Library / Developer / CommandLineTools और फिर xcode-select --install को बुलाया।
Oleksii Kyslytsyn

31

यह जाँचने के लिए कि क्या कमांड लाइन उपकरण स्थापित हैं:

xcode-select --version

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

यदि कमांड लाइन उपकरण स्थापित नहीं हैं:

xcode-select --install

1
सरल और प्रभावी। सबसे अच्छा जवाब हो सकता है।
ब्रायन पी।

12

MacOS सिएरा (10.12) पर:

  1. CLT स्थापित है, यह देखने के लिए निम्न कमांड चलाएँ:

    xcode-select -p

    यदि CLT पहले से स्थापित है, तो यह टूल को पथ लौटा देगा। कुछ इस तरह -

    /Applications/Xcode.app/Contents/Developer
  2. CLT का संस्करण देखने के लिए निम्नलिखित कमांड चलाएँ:

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

    यह संस्करण की जानकारी वापस कर देगा, आउटपुट कुछ इस तरह होगा -

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

8

MacOS कैटालिना में , और संभवतः कुछ पहले के संस्करणों में, आप यह पता लगा सकते हैं कि कमांड लाइन टूल कहां उपयोग किए गए हैं:

xcode-select -p उर्फ xcode-select --print-path

यदि यह स्थापित है, तो कुछ के साथ प्रतिक्रिया करें:

/Library/Developer/CommandLineTools

यह जानने के लिए कि आपने वहां कौन सा संस्करण स्थापित किया है, आप इसका उपयोग कर सकते हैं:

xcode-select -v उर्फ xcode-select --version

जो कुछ इस तरह लौटेगा:

xcode-select version 2370.

हालाँकि , यदि आप इसे नवीनतम संस्करण में अपग्रेड करने का प्रयास करते हैं, तो यह मानते हुए कि यह स्थापित है, इसका उपयोग करते हुए:

xcode-select --install

आपको जवाब में प्राप्त होगा:

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

जो गलत तरीके से धारणा देता है कि आपको स्पॉटलाइट का उपयोग करने की आवश्यकता है, जो 'सॉफ़्टवेयर अपडेट' नामक कुछ खोजता है। वास्तविक तथ्य में, आपको टर्मिनल को जारी रखने और इसका उपयोग करने की आवश्यकता है:

softwareupdate -i -a उर्फ softwareupdate --install --all

जो सब कुछ इसे अपडेट करने की कोशिश करता है और इसके साथ अच्छी प्रतिक्रिया दे सकता है:

Software Update Tool

Finding available software
No new software available.

यह जानने के लिए कि आपकी मशीन पर विभिन्न Apple SDK के कौन से संस्करण स्थापित हैं, इसका उपयोग करें:

xcodebuild -showsdks


3

मुझे लगता है कि कमांड लाइन टूल को खोजने के लिए मेरे द्वारा काम करने का सबसे सरल तरीका स्थापित किया गया है या नहीं और इसका संस्करण चाहे जो भी हो, मैक संस्करण क्या है?

$brew config

macOS: 10.14.2-x86_64
CLT: 10.1.0.0.1.1539992718
Xcode: 10.1

जब आपके पास कमांड लाइन उपकरण ठीक से स्थापित हो और रास्ते ठीक से सेट हो।

पहले मुझे
macOS के नीचे आउटपुट मिला : 10.14.2-x86_64
CLT: N / A
Xcode: 10.1

सीएलटी को जीसीसी होने के बावजूद एन / ए के रूप में दिखाया गया था और ठीक काम करने और आउटपुट के नीचे काम करने के लिए

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

अंत में xcode-select --install करने से नीचे के रूप में संकुल को स्थापित करने के लिए CLT खोजने में असमर्थ मेरी शराब की समस्या का समाधान हो गया।

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

1

एप्लिकेशन> Xcode> प्राथमिकताएं> डाउनलोड पर जाएं

आपको स्थापित करने के लिए कमांड लाइन टूल्स को देखना चाहिए।


1

एक प्रोग्रामेटिक दृष्टिकोण से होमब्रेव लोगों के पास कमांड लाइन टूल स्थापित होने पर यह निर्धारित करने के लिए विभिन्न फाइलों के अस्तित्व की जांच है । वर्तमान में यह हमेशा के लिए जाँच करता है /Library/Developer/CommandLineTools/usr/bin/gitऔर यह भी जाँच करेगा /usr/include/iconv.hकि OS संस्करण 10.13 या उससे नीचे है या नहीं।



0

चूँकि Xcode CLI टूल को सब्सक्राइब करता है यदि पहले स्थापित किया गया है, तो मैं निम्नलिखित हाइब्रिड का उपयोग करता हूं जिसे 10.12 और 10.14 पर मान्य किया गया है। मुझे उम्मीद है कि यह कई अन्य संस्करणों पर काम करता है:

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

awkशाखायुक्त तर्क के लिए स्वाद के साथ नमक ।

बेशक xcode-select -pएक बहुत ही कम आदेश के साथ विविधताओं को संभालता है, लेकिन विस्तृत पैकेज, संस्करण और स्थापना तिथि मेटाडेटा देने में विफल रहता है।


0

अपना टर्मिनल खोलें और यह देखने के लिए जांचें कि क्या आपके पास पहले से ही Xcode स्थापित है:

xcode-select -p

बदले में, यदि आपको यह मिलता है:

/Library/Developer/CommandLineTools

इसका मतलब है कि आपके पास Xcode इंस्टॉल है।

यदि आप "HomeBrew" स्थापित करते हैं, तो दूसरा तरीका आप देख सकते हैं कि आप Xcode और संस्करण है या नहीं, यह देखने के लिए आप निम्न कमांड का उपयोग कर सकते हैं:

brew config

और अंत में, यदि आपके पास एक्सकोड नहीं है तो ऐपस्टोर से एक्सकोड डाउनलोड करने के लिए इस लिंक का पालन करें। ऐप स्टोर से Xcode

शुभ लाभ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.