¿Cómo puedo saber si tengo instaladas las herramientas de línea de comandos de Xcode?

97

Necesito usar 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
:

y:

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

No estoy muy seguro de qué hacer con esto, claramente es algo instalado por Homebrew. No sé por qué está ahí, no sé si podría usarlo en su lugar. No está en la ruta de búsqueda.

Entonces me imagino que necesito herramientas de línea de comandos de Xcode.

Xcode no está disponible actualmente en el servidor de actualización de software

^ mi problema actual exactamente. El comentario sobre esa pregunta dice "puede obtener este error si ya lo tiene"

Pero, ¿cómo verifico si ya los tengo?

Pi
fuente

Respuestas:

155
/usr/bin/xcodebuild -version

le dará la versión de xcode, ejecútelo a través del comando Terminal

crujzo
fuente
2
Para obtener solo la versión, use el siguiente comando: / usr / bin / xcodebuild -version | sed -En 's / Xcode [[: space:]] + ([0-9 \.] *) / \ 1 / p'
Werner Altewischer
1
Recibo un error con el comando mencionado. "-bash: / usr / build / xcodebuild: No existe tal archivo o directorio". He confirmado que tengo xcode ejecutando el comando gcc --version, que proporciona los detalles de gcc. Estoy en Mac OS X 10.13.6.
GAURAV SRIVASTAVA
@GAURAV SRIVASTAVA: lo es /usr/bin, no /usr/build. De hecho xcodebuilddebería ser suficiente ya que /usr/binsuele estar en tu PATH.
Samuel Lelièvre
38

En primer lugar, asegúrese de haberlo descargado o no. Abre la aplicación de tu terminal, e ingresa $ gccsi no la has instalado recibirás una alerta. Puede verificar que lo ha instalado

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

Y para estar seguro entonces entra $ gcc --version

Puede leer más sobre el proceso aquí: Herramientas de línea de comandos de Xcode para Mavericks

Alpes de Siavash
fuente
1
@Pi ¿Qué obtiene cuando ingresa $ gcc --version? Obtiene algo como esto: --prefix = / Library / Developer / CommandLineTools / usr --with-gxx-include-dir = / usr / include / c ++ / 4.2.1 Apple LLVM versión 5.0 (clang-500.2.79) (basado en LLVM 3.3svn)
Siavash Alp
No, obtengo --prefix = / Applications / Xcode.app / Contents / Developer / usr. El resto es igual que su impresión.
P i
29

si desea conocer la versión de instalación de Xcode, así como la versión actual del idioma Swift:

Use el siguiente comando simple usando Terminal:

1. Para instalar la versión de Xcode

 xcodebuild -version

2. Para instalar la versión de idioma Swift

swift --version
Kiran jadhav
fuente
23

Pude encontrar mi versión de Xcode en maxOS Sierra usando este comando:

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

según esta respuesta .

AlexG
fuente
11

Gracias a la gente de #macdev de Freenode, aquí hay algo de información:

En los viejos tiempos, antes de que Xcode estuviera en la tienda de aplicaciones, incluía herramientas de línea de comandos.

Ahora lo obtienes de la tienda, y con este nuevo mecanismo no puede instalar cosas adicionales fuera de Xcode.app, por lo que debes hacerlo manualmente tú mismo, de la siguiente manera:

xcode-select --install

En Xcode 4.x puede verificar si están instalados desde la interfaz de usuario de Xcode:

ingrese la descripción de la imagen aquí

En Xcode 5.x ahora está aquí:

ingrese la descripción de la imagen aquí

Mi problema para encontrar gcc / gdb es que han sido reemplazados por clang / lldb: GDB missing en OS X v10.9 (Mavericks)

También tenga en cuenta que Xcode contiene un compilador y un depurador, por lo que una de las cosas que hará la instalación de herramientas de línea de comandos es un enlace simbólico o modificar $ PATH. También descarga ciertas cosas como git.

Pi
fuente
1

Si por alguna razón xcode no está instalado bajo

/usr/bin/xcodebuild

ejecutar el siguiente comando

which xcodebuild

y si está instalado, se le pedirá su ubicación.

SylvesterAbreuLoreto
fuente