Abra las herramientas de línea de comandos DMG y encontrará un metapaquete, que puede extraer con el comando pkgutil --expand 'Command Line Tools.mpkg' metapackage
. Abra el archivo metapackage/Distribution
que acaba de ser extraída en un editor de texto para ver los paquetes que componen el metapaquete:
com.apple.pkg.DevSDK
com.apple.pkg.X11SDK
com.apple.pkg.QuickTimeSDK
com.apple.pkg.OpenGLSDK
com.apple.pkg.WebKitSDK
com.apple.pkg.FireWireSDK
com.apple.pkg.BluetoothSDK
com.apple.pkg.CoreAudioSDK
com.apple.pkg.JavaSDK
com.apple.pkg.clang
com.apple.pkg.llvm-gcc4.2
com.apple.pkg.X11Documentation
com.apple.pkg.DeveloperToolsCLI
Los archivos de paquetes correspondientes se encuentran en un directorio oculto Packages
junto con el metapaquete. Sus contenidos se pueden enumerar con pkgutil --payload-files
.
Si usted tiene un archivo en el disco, y me gustaría saber cuál es el paquete que venía de:
$ pkgutil --file-info /usr/bin/clang
volume:/
path: /usr/bin/clang
pkgid: com.apple.pkg.clang
pkg-version: 4.3.0.0.1.1249367152
install-time: 1342021874
uid: 0
gid: 0
mode: 755
Ahora, alguna información extra que será útil si alguna vez desea eliminar la herramientas de línea de comandos. Apple, en su infinita sabiduría, se niega a proporcionar una herramienta para hacerlo, pero podemos obtener la información que necesitamos utilizando pkgutil
para mostrar información sobre los paquetes instalados.
En primer lugar, pkgutil --pkgs
mostrará una lista de todos los paquetes instalados. Compare el resultado de la lista de paquetes anterior.
pkgutil --info
mostrará información sobre un paquete instalado; por ejemplo:
$ pkgutil --info com.apple.pkg.clang
package-id: com.apple.pkg.clang
version: 4.3.0.0.1.1249367152
volume:/
location:/
install-time: 1342021874
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group
pkgutil --files
mostrará el contenido de un paquete instalado, con respecto al volume
y location
campos dadas por pkgutil --info
. Debido a que las rutas absolutas no se utilizan, no puede simplemente canalizar la salida de este comando al xargs rm -f
para eliminar los archivos de un paquete; tendrás que arreglar los caminos tú mismo, quizás con algo como pkgutil --files com.example.pkgname | while read line; do rm -f "/install_location/$line"; done
.
Una vez que se eliminan los archivos de un paquete, se debe ejecutar pkgutil --forget
para eliminar la información sobre el paquete instalado de la base de datos del paquete.
Se debe hace falta decir que usted debe tener mucho cuidado si se intenta esto: eres una errata lejos de atornillar su sistema en tanto que tendrá que volver a instalarlo, por no hablar de su precioso ¡datos!
pkgutil
tiene algunas otras opciones útiles para verificar que los archivos de un paquete estén todos presentes, y para restaurar sus permisos; ver its manual page para los detalles.
En general, esto funcionará para cualquier paquete; sin embargo, tenga en cuenta que algunos paquetes pueden tener scripts incrustados que se ejecutan cuando se instala el paquete; obviamente, simplemente eliminar los archivos del paquete no eliminará todos los rastros del paquete de su sistema. Deberá extraer el contenido del paquete y leer el código fuente del script, y luego decidir cómo deshacer los efectos del script usted mismo.
Me imagino que deberían estar disponibles desde la línea de comando, como siempre. Generalmente se instalan en '/ usr/bin' o en un enlace simbólico. Al menos así es como ha sido en el pasado. Ahora que no están incluidos en la instalación de forma predeterminada, no estoy seguro de cuál es la ubicación de instalación. – prodigitalson
Esto es solo un subconjunto de herramientas de desarrollo con GCC y encabezados para compilar software, así como herramientas de compilación que pueden no estar en su sistema de forma predeterminada, como make llvm, etc. Solía tener que instalar Xcode completo para obtener las cosas , ahora se ha dividido en un componente separado, mpkg, que es muy conveniente para aquellos que usan Homebrew o Macports, pero en realidad no necesitan XCode. ¿Qué estás tratando de encontrar/usar exactamente? SI ya tiene Xcode instalado, ya debería tener esto. – prodigitalson
No sé si crear un proyecto, pero para compilar lo haría 'xcodebuild', hay' xcodeindex' que indexa una carpeta de proyecto. y 'xcode-select' que selecciona la ubicación de la carpeta Xcode (presumiblemente si tiene múltiples versiones de xcode o múltiples versiones de herramientas relacionadas). Si haces 'man xcode-select', verás una serie de herramientas adicionales que están relacionadas al final. A continuación, puede hacer 'man' para cualquiera de estas otras herramientas para su uso. – prodigitalson