985 votos

Lista de todos los paquetes instalados utilizando Homebrew

¿Es posible y cómo puedo obtener una lista de todos los paquetes instalados en mi Mac usando Homebrew? No estoy interesado en los paquetes instalados fuera de Homebrew.

1150voto

siva Puntos 23

brew list y brew list --cask

Ejecutar brew list mostrará una lista de todos tus paquetes Homebrew instalados.

Además, brew list --cask proporcionará los elementos instalados usando Homebrew Cask.

brew list

4 votos

Si tuvieras esta lista en un archivo de texto. ¿Cómo instalarías todos ellos? brew install < list.txt parece no funcionar.

62 votos

@Jonathan xargs brew install < list.txt Siéntete libre de hacer otra pregunta para más detalles o aclaraciones.

4 votos

@grgarside - me encanta tu prompt de terminal. ¿Estarías dispuesto a compartir tus archivos de configuración para que mi prompt se vea así?

636voto

Jonathan Puntos 581

brew leaves te muestra todos los paquetes de nivel superior; paquetes que no son dependencias. Esto debería ser lo más interesante si estás usando la lista para reinstalar paquetes.

Para incluir descripciones de fórmulas, usa

brew leaves | xargs brew desc --eval-all

Para incluir descripciones de casks, usa

brew ls --casks | xargs brew desc --eval-all

35 votos

Solo listar hojas que fueron instaladas manualmente: brew leaves --installed-on-request | xargs -n1 brew desc

7 votos

brew leaves está perdiendo algún barril

14 votos

Al menos desde brew 3.5.10 (agosto de 2022), brew desc está obsoleto; se debe usar brew desc --eval-all. Además, esto permite obtener descripciones de más de un paquete en una sola llamada. Esto es más rápido por un factor aproximado al número de descripciones solicitadas. Este comando modificado de xargs hará uso de eso: brew leaves | xargs brew desc --eval-all

162voto

Curt Hagenlocher Puntos 12432

brew bundle también puede ser interesante si estás preguntando porque quieres gestionar tu instalación de brew. Esto incluye casks, que brew list no tiene. Está enfocado en tener configuraciones de Homebrew reproducibles.

# crea Brewfile en el directorio actual a partir de los paquetes instalados actualmente
brew bundle dump
# editar Brewfile
# instalar todo desde el Brewfile
brew bundle

Puedes usar la bandera --global para operar en tu ~/.Brewfile y -f/--force para forzar la sobrescritura de tu archivo existente (para la instalación, esto forzará la desinstalación de los paquetes no listados).

9 votos

Una reciente volcado de datos sugiere que bundle ahora excluye dependencias. Hay algunos otros cambios como el estilo de comillas y el orden que hacen que sea más difícil entender la diferencia, pero en general parece que al menos algunas bibliotecas están faltando de Brewfile pero están instaladas.

0 votos

• Mi efecto deseado es tener el mismo software basado en brew a mi disposición en la máquina B como lo tengo ahora en la máquina A. Pero configurar individualmente las aplicaciones allí para tener un inicio fresco y deshacerme de cualquier basura que pueda haber acumulado a lo largo de los años en la máquina A. • ¿Es "brew bundle dump" en la máquina A, mover ~/Brewfile a la máquina B y luego ejecutar "brew bundle" la secuencia de comandos correcta para este propósito? • Después de la instalación en la nueva máquina B, ¿brew instalará la arquitectura correcta (es decir, Apple Silicon en lugar de Intel x64) e instalará todas las dependencias necesarias?

2 votos

Puedes revisar brew bundle --help para obtener detalles y examinar el Brewfile. Creo que esta respuesta es una forma más completa e idiomática de hacerlo que la respuesta aceptada, por ejemplo, incluye taps y casks. Es independiente de la arquitectura y se encargará de instalar dependencias. Si quieres que la máquina B también desinstale paquetes que no están en el Brewfile, deberás proporcionar --cleanup o hacer un brew bundle cleanup separado.

96voto

Nimesh Neema Puntos 69

Ejecutar el comando brew list muestra una lista simple, ordenada alfabéticamente de todas las fórmulas y Casks (aplicaciones GUI) instaladas en dos secciones separadas.

introducir descripción de la imagen aquí

Sin embargo, otras fórmulas requeridas (dependencias) se instalan automáticamente al instalar una fórmula. Es posible ver la lista de todos los paquetes instalados como un árbol de dependencias bien formateado. Para verlo, ejecuta el siguiente comando:

brew deps --tree --installed

Un ejemplo de salida se muestra a continuación:

introducir descripción de la imagen aquí

Las fórmulas enumeradas independientemente (por ejemplo, bash, brotli, ca-certificates, etc.) no tienen dependencias. Las fórmulas representadas como parte de una estructura de árbol tienen sus dependencias enumeradas en un nivel inmediatamente inferior en el árbol (por ejemplo, cocoapods requiere ruby, el cual a su vez requiere que se instale libyaml). Las fórmulas enumeradas en los nodos hoja en las estructuras de árbol no tienen más dependencias.

Las dependencias visualizadas en una estructura de árbol como esta pueden ser de utilidad para deshacerse fácilmente de los paquetes innecesarios.

1 votos

Gran respuesta. Estoy obteniendo mis paquetes de nivel superior con: brew deps --tree --installed --full-name | grep -v "" | grep -e "^\w" | count. ¿Cómo ver las diferencias entre fórmulas y cask?

15voto

Rahul Prasad Puntos 109

Puedes usar brew list | grep 'nombre-del-paquete' si estás buscando un paquete específico.
brew list 'nombre-del-paquete' también funciona y proporciona información adicional.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X