2012-02-18 15 views
22

Apple ha lanzado recientemente Command Line Tools:Herramientas Xcode 4.3 de línea de comandos

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

  2. ¿Hay algún tipo de documentación que no sean man pages?

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

+0

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

+0

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

+2

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

Respuesta

12

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.

1

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

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

Una vez que tuve que creó, en sustitución de mis entradas antiguas ruta referente a/desarrollador, que podría correr un "hacer" de la línea de comandos de nuevo.

+2

No se trata de ejecutar 'make' en la línea de comandos ... Quiero que estas herramientas se enumeren con la documentación adecuada, así como una forma de crear proyectos xcode desde la línea de comandos. – Alerty

+0

Había buscado generar las carpetas * .xcodeproj desde la línea de comandos pero terminé creando un nuevo proyecto desde Xcode. El comando para construir el proyecto es: 'xcodebuild -configuration Debug' para la versión de depuración (obviamente) y' xcodebuild -configuration Release' para la versión de lanzamiento. En cuanto a la documentación, lo mejor que puedo darte es 'man xcodebuild'. – S2VpdGgA

+0

Esa es la cosa, aunque no existe una herramienta de línea de comandos de Apple, que yo sepa, que crea un proyecto xcode. Para construir un proyecto, necesitas un archivo de proyecto. – Alerty

Cuestiones relacionadas