Как я могу узнать, установлены ли у меня инструменты командной строки Xcode?


99

Мне нужно использовать gdb.

ps-MacBook-Air:AcoustoExport pi$ gdb
-bash: gdb: command not found

ps-MacBook-Air:AcoustoExport pi$ sudo find / -iname "*gdb*"
Password:
/usr/local/share/gdb
/usr/local/Cellar/isl/0.12.1/share/gdb
:

и:

ps-MacBook-Air:AcoustoExport pi$ ls -la /usr/local/share/gdb
lrwxr-xr-x   1 pi    admin   30 14 Jan 22:01 gdb -> ../Cellar/isl/0.12.1/share/gdb

Не совсем уверен, что это делать, очевидно, что это что-то установлено самодельным пивом. Не знаю, зачем он там, не знаю, могу ли я его использовать. Его нет на пути поиска.

Итак, я полагаю, что мне нужны инструменты командной строки Xcode.

Xcode в настоящее время недоступен с сервера обновления программного обеспечения

^ именно моя текущая проблема. В комментарии к этому вопросу говорится: «Вы можете получить эту ошибку, если она у вас уже есть».

Но как мне проверить, есть ли они у меня?

Ответы:


159
/usr/bin/xcodebuild -version

предоставит вам версию xcode, запустите ее через команду терминала


2
Чтобы получить только версию, используйте следующую команду: / usr / bin / xcodebuild -version | sed -En 's / Xcode [[: space:]] + ([0-9 \.] *) / \ 1 / p'
Вернер Альтевишер

1
Я получаю сообщение об ошибке с указанной командой. «-bash: / usr / build / xcodebuild: нет такого файла или каталога». Я подтвердил, что у меня есть xcode, выполнив команду gcc --version, которая дает подробную информацию о gcc. Я использую Mac OS X 10.13.6.
ГАУРАВ СРИВАСТАВА

@GAURAV SRIVASTAVA: это /usr/binне так /usr/build. На самом деле xcodebuildдолжно быть достаточно, так /usr/binкак обычно он находится в вашем PATH.
Самуэль Лельевр,

38

Прежде всего убедитесь, скачали вы его или нет. Откройте приложение терминала и введите его, $ gccесли вы его не установили, вы получите предупреждение. Вы можете проверить, что вы установили его,

$ xcode-select -p
/Library/Developer/CommandLineTools

И чтобы убедиться, войдите $ gcc --version

Вы можете узнать больше о процессе здесь: Инструменты командной строки Xcode для Mavericks


1
@Pi Что вы получаете, когда вводите $ gcc --version? У вас получится что-то вроде этого: --prefix = / Library / Developer / CommandLineTools / usr --with-gxx-include-dir = / usr / include / c ++ / 4.2.1 Apple LLVM версии 5.0 (clang-500.2.79) (на основе LLVM 3.3svn)
Сиаваш Альп

Нет, я получаю --prefix = / Applications / Xcode.app / Contents / Developer / usr. Остаток такой же, как в вашей распечатке.
P i

29

если вы хотите узнать версию установки Xcode, а также текущую версию языка Swift:

Используйте простую команду ниже, используя Терминал:

1. Чтобы установить версию Xcode

 xcodebuild -version

2. Для установки языковой версии Swift

swift --version

24

Мне удалось найти свою версию Xcode на maxOS Sierra с помощью этой команды:

pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version

согласно этому ответу .


11

Спасибо ребятам из Freenode #macdev, вот некоторая информация:

Раньше, до того, как Xcode был в магазине приложений, он включал инструменты командной строки.

Теперь вы получаете его из магазина, и с этим новым механизмом он не может устанавливать дополнительные вещи за пределами Xcode.app, поэтому вам нужно вручную сделать это самостоятельно:

xcode-select --install

В Xcode 4.x вы можете проверить, установлены ли они из пользовательского интерфейса Xcode:

введите описание изображения здесь

В Xcode 5.x он теперь находится здесь:

введите описание изображения здесь

Моя проблема с поиском gcc / gdb заключается в том, что они были заменены clang / lldb: GDB отсутствует в OS X v10.9 (Mavericks)

Также обратите внимание, что Xcode содержит компилятор и отладчик, поэтому одна из вещей, которые устанавливают инструменты командной строки, - это символическая ссылка или изменение $ PATH. Он также загружает определенные вещи, например git.


1

Если по какой-то причине xcode не установлен под

/usr/bin/xcodebuild

выполните следующую команду

which xcodebuild

и если он установлен, вам будет предложено указать его местоположение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.