Elenco di tutti i pacchetti installati utilizzando Homebrew


448

È possibile e come posso ottenere un elenco di tutti i pacchetti installati sul mio Mac usando Homebrew? Non mi interessano i pacchetti installati al di fuori di Homebrew.

Risposte:


563

brew list e brew cask list

L'esecuzione brew listmostrerà un elenco di tutti i pacchetti Homebrew installati.

Inoltre, brew cask listfornirà gli articoli installati utilizzando Homebrew Cask .

lista della birra


2
Se avevi questo elenco in un file txt. Come faresti per installarli tutti? brew install < list.txtnon sembra funzionare.
Jonathan,

26
@Jonathan xargs brew install < list.txtSentiti libero di porre una domanda separata per maggiori dettagli o chiarimenti.
GRG

3
@grgarside - love ur terminal prompt. saresti disposto a condividere i tuoi file di configurazione per far apparire il mio prompt così?
Kaushik Gopal,

2
@Kaushik Ho finalmente scritto un post sul blog sulla configurazione del mio terminale / shell: sentiti libero di porre qualsiasi domanda lì.
GRG

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

279

brew leavesmostra tutti i pacchetti di livello superiore. Cioè pacchetti che non sono dipendenze. Questo dovrebbe essere il più interessante se stai usando l'elenco per reinstallare i pacchetti.


3
Bella risposta. Sai come ottenere un elenco dei pacchetti che sono stati installati dall'utente? Questo può essere diverso da leaves.
Steven Shaw,

Sì, ad es. javaNon è elencato leavesperché è una dipendenza da un altro progetto anche se l'ho installato da solo.
Saad Malik,

61

brew bundlepuò anche essere interessante se lo stai chiedendo perché vuoi gestire la tua installazione di birra. Ciò include le botti, che brew listnon lo fanno. Ha lo scopo di avere configurazioni Homebrew riproducibili.

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

Puoi usare il --globalflag per operare sul tuo ~/Brewfilee -fper forzare la sovrascrittura del tuo file esistente (per l'installazione, questo forzerà la disinstallazione di pacchetti non elencati).


Questo è eccellente! Non avevo idea che esistesse. Grazie. Vorrei solo che fosse come brew leavese omesso i pacchetti che non hai installato direttamente, ma ottenuto solo come dipendenze. In futuro un pacchetto potrebbe cambiare le dipendenze, ma lo installerai comunque e non ti servirà.
Bruno Bronosky,

Sì. Sembra che ogni gestore di pacchetti attraversi questa fase di non differenziare i due.
Sam Brightman,

1
Una mia recente discarica suggerisce che bundleora esclude le dipendenze. Ci sono altre modifiche come lo stile di quotazione e l'ordinamento che rendono più difficile la comprensione del diff, ma nel complesso sembra che almeno alcune librerie siano mancanti Brewfilema installate.
Sam Brightman,

20

Il brew listcomando di esecuzione mostra un semplice elenco in ordine alfabetico di tutti i pacchetti installati.

Tuttavia, vari pacchetti richiesti (dipendenze) vengono installati automaticamente quando si installa un pacchetto usando Homebrew. È possibile visualizzare l'elenco di tutti i pacchetti installati come un albero delle dipendenze ben formattato. Per visualizzarlo, eseguire il comando seguente:

brew deps --tree --installed

Un esempio di output è come mostrato di seguito:

gdbm

openssl

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

readline

sqlite
└── readline

xz

I pacchetti elencati in modo indipendente (ad es. gdbmE opensslnell'esempio sopra riportato) non hanno dipendenze. I pacchetti rappresentati come parte di una struttura ad albero hanno la loro dipendenza elencata al livello immediatamente inferiore (ad esempio, il pacchetto sqliterichiede l' readlineinstallazione del pacchetto ). I pacchetti elencati nei nodi foglia nelle strutture ad albero non hanno dipendenze.

Le dipendenze visualizzate in una struttura ad albero possono aiutare a sbarazzarsi facilmente dei pacchetti non necessari.


1
Il brew leavescomando sopra menzionato è utile a questo proposito; elenca solo i pacchetti di livello superiore.
Paul Bissex,

6

Puoi usare brew list | grep 'package-name'o se stai cercando un pacchetto specifico.
brew list 'package-name'funziona anche e fornisce informazioni aggiuntive.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.