tools mpkg xcode command-line documentation

mpkg - XCode 4.3 Herramientas de línea de comando



xcodebuild install (2)

Abra las herramientas de línea de comandos DMG y encontrará un meta-paquete, que puede extraer con el comando pkgutil --expand ''Command Line Tools.mpkg'' metapackage . Abra el archivo de metapackage/Distribution que se acaba de extraer en un editor de texto para ver los paquetes que comprenden el meta-paquete:

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 paquete correspondientes se encuentran en un directorio de Packages ocultos junto con el metapaquete. Sus contenidos pueden ser listados con pkgutil --payload-files .

Si tiene un archivo en el disco y desea saber de qué paquete proviene:

$ 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 adicional que será útil si alguna vez desea eliminar las 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 al utilizar pkgutil para mostrar información sobre los paquetes instalados.

En primer lugar, pkgutil --pkgs todos los paquetes instalados. Compare la salida de la lista de paquetes arriba.

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, en relación con los campos de volume y location proporcionados por pkgutil --info . Debido a que las rutas absolutas no se usan, no puede simplemente canalizar la salida de este comando a xargs rm -f para eliminar los archivos de un paquete; Tendrá que arreglar las rutas usted mismo, quizás con algo como pkgutil --files com.example.pkgname | while read line; do rm -f "/install_location/$line"; done pkgutil --files com.example.pkgname | while read line; do rm -f "/install_location/$line"; done 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, pkgutil --forget debe ejecutar para eliminar la información sobre el paquete instalado de la base de datos del paquete.

No hace falta decir que debes tener mucho cuidado si lo intentas: ¡estás a un paso de fallar en tu sistema tan mal que tendrás que volver a instalarlo, para no decir nada de tus preciosos datos!

pkgutil tiene otras opciones útiles para verificar que todos los archivos de un paquete están presentes y para restaurar sus permisos; ver su página de manual 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 eliminando los archivos del paquete no eliminará todos los rastros del paquete de su sistema. Tendrá que 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.

Apple ha lanzado recientemente herramientas de línea de comandos :

  1. ¿Cuáles son las herramientas provistas en el paquete de herramientas de línea de comando?

  2. ¿Hay algún otro tipo de documentación que no sean páginas de manual?

Tenga en cuenta que he instalado estas herramientas agregando el componente específico en Xcode. Además, no se trata de un proyecto de Xcode, sino de un paquete lanzado por Apple el 16 de febrero de 2012.


Tuve un problema similar: no pude ejecutar "make" después de actualizar a Xcode 4.3. Para solucionarlo, acabo de configurar mi variable PATH para incluir:

/Applications/Xcode.app/Contents/Developer/usr/bin /Applications/Xcode.app/Contents/Developer/Tools

Una vez que tuve esa configuración, reemplazando mis entradas antiguas de PATH que se refieren a / Developer, podría ejecutar un "make" desde la línea de comandos nuevamente.