Lista de todos os pacotes instalados usando o Homebrew


448

É possível e como faço para obter uma lista de todos os pacotes instalados no meu Mac usando Homebrew? Não estou interessado em pacotes instalados fora do Homebrew.

Respostas:


563

brew list e brew cask list

A execução brew listmostrará uma lista de todos os seus pacotes Homebrew instalados.

Além disso, brew cask listfornecerá os itens instalados usando o Homebrew Cask .

lista de fermentação


2
Se você tivesse essa lista em um arquivo txt. Como você instalaria todos eles? brew install < list.txtparece não funcionar.
Jonathan

26
@ Jonathan xargs brew install < list.txtSinta-se à vontade para fazer uma pergunta separada para obter mais detalhes ou esclarecimentos.
grg

3
@grgarside - adoro o prompt do terminal. você gostaria de compartilhar seus arquivos de configuração para que minha solicitação se pareça com isso?
Kaushik Gopal

2
@ Kaushik Finalmente escrevi um post sobre meu terminal / configuração de shell - fique à vontade para fazer qualquer pergunta lá.
grg

1
@Jonathanbrew install $(< list.txt )
phil pirozhkov

279

brew leavesmostra todos os pacotes de nível superior. Ou seja, pacotes que não são dependências. Isso deve ser o mais interessante se você estiver usando a lista para reinstalar pacotes.


3
Boa resposta. Você sabe como obter uma lista dos pacotes que foram instalados pelo usuário? Isso pode ser diferente para leaves.
Steven Shaw

Sim, por exemplo, javanão está listado leavesporque é uma dependência de outro projeto, mesmo que eu o tenha instalado.
Saad Malik

61

brew bundleTambém pode ser interessante se você estiver perguntando, porque deseja gerenciar sua instalação de preparação. Isso inclui barris, o que brew listnão acontece. Destina-se a ter configurações Homebrew reproduzíveis.

# creates Brewfile in the current directory from currently-installed packages
brew bundle dump
# edit Brewfile
# install everything from the Brewfile
brew bundle

Você pode usar o --globalsinalizador para operar em seu computador ~/Brewfilee -fforçar a substituição do arquivo existente (para instalação, isso forçará a desinstalação de pacotes não listados).


Isto e excelente! Não fazia ideia de que isso existisse. Obrigado. Eu só queria que fosse brew leavese omitisse os pacotes que você não instalou diretamente, mas que só tiveram como dependências. No futuro, um pacote poderá alterar as dependências, mas você o instalará de qualquer maneira e não precisará dele.
Bruno Bronosky 01/12/16

Sim. Parece que todo gerenciador de pacotes passa por essa fase de não diferenciar os dois.
Sam Brightman

1
Um despejo recente sugere que bundleagora exclui dependências. Existem outras alterações, como estilo de cotação e ordem, que dificultam a compreensão do diff, mas no geral parece que pelo menos algumas bibliotecas estão ausentes, Brewfilemas instaladas.
Sam Brightman

20

O brew listcomando Executing mostra uma lista simples, ordenada alfabeticamente, de todos os pacotes instalados.

No entanto, vários pacotes necessários (dependências) são instalados automaticamente ao instalar um pacote usando o Homebrew. É possível visualizar a lista de todos os pacotes instalados como uma árvore de dependência bem formatada. Para visualizá-lo, execute o seguinte comando:

brew deps --tree --installed

Um exemplo de saída é como mostrado abaixo:

gdbm

openssl

python
├── gdbm
├── openssl
├── readline
├── sqlite
│   └── readline
└── xz

readline

sqlite
└── readline

xz

Os pacotes listados independentemente (por exemplo, gdbme opensslna saída de exemplo acima) não têm dependências. Os pacotes representados como parte de uma estrutura em árvore têm sua dependência listada no nível imediatamente inferior (por exemplo, o pacote sqliterequer que o pacote readlineseja instalado). Os pacotes listados nos nós das folhas nas estruturas em árvore não têm dependências.

Dependências visualizadas em uma estrutura em árvore podem ajudar a se livrar facilmente dos pacotes desnecessários.


1
O brew leavescomando mencionado acima é útil nesse sentido; lista apenas os pacotes de nível superior.
Paul Bissex 29/01

6

Você pode usar brew list | grep 'package-name'ou se estiver procurando por um pacote específico.
brew list 'package-name'também funciona e fornece informações adicionais.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.