¿Es posible y cómo puedo obtener una lista de todos los paquetes instalados en mi Mac usando Homebrew
? No estoy interesado en paquetes instalados fuera de Homebrew.
Respuesta
brew list
y brew list --cask
Al ejecutar brew list
se mostrará una lista de todos los paquetes Homebrew instalados.
Además, brew list --cask
proporcionará los elementos instalados usando Homebrew Cask .
Comentarios
Responder
brew leaves
muestra todos los paquetes de nivel superior. Son paquetes que no son dependencias. Esto debería ser el más interesante si está utilizando la lista para reinstalar paquetes.
Respuesta
brew bundle
también puede ser interesante si lo preguntas porque quieres administrar la instalación de tu preparación. Esto incluye toneles, que brew list
no. Su objetivo es tener configuraciones de Homebrew reproducibles.
# creates Brewfile in the current directory from currently-installed packages brew bundle dump # edit Brewfile # install everything from the Brewfile brew bundle
Puede usar el indicador --global
para operar en su ~/.Brewfile
y -f/--force
para forzar la sobrescritura de su archivo existente (para la instalación, esto forzará la desinstalación de los paquetes que no figuran en la lista).
Comentarios
- Un volcado mío reciente sugiere que
bundle
ahora excluye las dependencias. Hay algunos otros cambios, como el estilo de las comillas y el orden, que dificultan la comprensión de las diferencias, pero en general parece que faltan algunas bibliotecas enBrewfile
pero están instaladas.
Responder
Al ejecutar el comando brew list
se muestra una lista simple ordenada alfabéticamente de todos los paquetes instalados.
Sin embargo, varios paquetes requeridos (dependencias) se instalan automáticamente al instalar un paquete usando Homebrew. Es posible ver la lista de todos los paquetes instalados como un árbol de dependencias con un formato agradable. Para verlo, ejecute el siguiente comando:
brew deps --tree --installed
A continuación, se muestra un resultado de ejemplo:
gdbm openssl python ├── gdbm ├── openssl ├── readline ├── sqlite │ └── readline └── xz readline sqlite └── readline xz
Los paquetes enumerados de forma independiente (por ejemplo, gdbm
y openssl
en el resultado de ejemplo anterior) tienen sin dependencias. Los paquetes representados como parte de una estructura de árbol tienen su dependencia listada en el nivel inferior inmediato (por ejemplo, el paquete sqlite
requiere que el paquete readline
sea instalado). Los paquetes enumerados en los nodos hoja en las estructuras de árbol no tienen dependencias.
Las dependencias visualizadas en una estructura de árbol pueden ayudar a deshacerse fácilmente de los paquetes innecesarios.
Respuesta
Puede usar brew list | grep "package-name"
o si está buscando un paquete específico.
brew list "package-name"
también funciona y proporciona información adicional.
Respuesta
Otros han mencionado brew leaves
, que enumera cosas que no son dependencias; y brew deps --tree --installed
que enumera el árbol de dependencias para todos los paquetes instalados.
Encuentro que el resultado más útil de cualquier respuesta es la combinación de estas.
brew deps --tree $(brew leaves)
Esto mostrará el árbol completo de su instalación de preparación.
Respuesta
Para ver los paquetes de preparación:
brew list
Para ver los paquetes de barril:
brew list --cask
Para ver los paquetes de preparación actualizable:
brew outdated
Para ver paquetes de barriles actualizables
brew outdated --cask
Respuesta
Puede utilizar este fragmento para enumerar todos los paquetes instalados y ordenarlos por tamaño.
brew list --formula | \ xargs -n1 -P8 -I {} \ sh -c " brew info {} | \ egrep "[0-9]* files, " | \ sed "s/^.*[0-9]* files, \(.*\)).*$/{} \1/" " | \ sort -h -r -k2 - | \ column -t
brew install < list.txt
no ' parece funcionar.xargs brew install < list.txt
Siéntase libre de hacer una pregunta separada para obtener más detalles o aclaraciones.brew list --formulae
ifbrew list
está bloqueado