Как проверить, установлены ли средства командной строки

У меня есть macbook pro с OS X 10.8.2. XCode установлен. Я знаю это, как он появляется в каталоге Applications. Также есть файлы xcodebuild и xcode-select в /usr/bin Мне нужно знать, установлены ли средства командной строки. Есть ли команда для этого? Что я могу сделать, чтобы проверить, установлен ли XCode CLT, и если да, чтобы найти установленную версию?

Ответ 1

10.10 Обновление Йосемиты:

Просто введите gcc или make в командной строке! OSX будет знать, что у вас нет инструментов командной строки и предлагается установить их!

Чтобы проверить, существуют ли они, xcode-select -p, возвращаемое значение будет 2, если они НЕ существуют, и 0, если они это делают (а также каталог).

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] [[email protected] ~]$ 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";
    };
}

Ответ 2

Yosemite

Ниже приведены несколько дополнительных шагов на новом Mac, которые могут понадобиться некоторым людям. Это добавляет немного к превосходному ответу @jnovack.

Обновление: несколько других примечаний при настройке:

Убедитесь, что у вашего администратора есть пароль. Пустой пароль не будет работать при попытке включить пользователя root.

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

Затем, чтобы включить root, запустите dsenableroot в терминале:

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

dsenableroot:: ***Successfully enabled root user.

Введите пароль администратора, затем новый активированный пароль root дважды.

Следующий тип:

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

С Mavericks это немного отличается теперь.

Когда инструменты не были найдены, это возвращает команда pkgutil:

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

Чтобы установить инструменты командной строки, это прекрасно работает с терминалом, с приятным gui и всем.

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

Также у меня был компонент для CLT, который был выбран и установлен в разделе загрузки xcode раньше, но похоже, что он не дошел до терминала...

Надеюсь, что это поможет.

Ответ 3

В macOS Sierra (10.12):

  • Выполните следующую команду, чтобы проверить, установлен ли CLT:

    xcode-select -p
    

    это вернет путь к инструменту, если CLT уже установлен. Что-то вроде этого -

    /Applications/Xcode.app/Contents/Developer
    
  • Выполните следующую команду, чтобы увидеть версию 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
    

Ответ 4

Перейдите в Приложения > Xcode > настройки > закачки

Здесь вы должны увидеть инструменты командной строки для установки.

Ответ 5

Чтобы проверить, запущены ли инструменты командной строки, выполните следующие действия:

xcode-select --version

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

Если инструменты командной строки не установлены, выполните:

xcode-select --install