Liste de tous les paquets installés avec Homebrew

448

Est-il possible et comment puis-je obtenir une liste de tous les packages installés sur mon Mac en utilisant Homebrew? Je ne suis pas intéressé par les paquets installés en dehors de Homebrew.

amphibient
la source

Réponses:

564

brew list et brew cask list

Running brew listaffichera une liste de tous vos paquets Homebrew installés.

En outre, brew cask listfournira les éléments installés à l'aide de Homebrew Cask .

liste de brassage

grg
la source
2
Si vous aviez cette liste dans un fichier txt. Comment voulez-vous les installer tous? brew install < list.txtne semble pas fonctionner.
Jonathan
26
@ Jonathan Ne hésitez xargs brew install < list.txtpas à poser une question distincte pour plus de détails ou des précisions.
grg
3
@grgarside - love ur terminal prompt. seriez-vous prêt à partager vos fichiers de configuration pour que mon invite ressemble à cela?
Kaushik Gopal
2
@ Kaushik J'ai enfin écrit un article de blog sur la configuration de mon terminal / shell — n'hésitez pas à poser vos questions.
grg
1
@Jonathanbrew install $(< list.txt )
phil pirozhkov
279

brew leavesvous montre tous les packages de niveau supérieur. Ce sont des paquets qui ne sont pas des dépendances. Cela devrait être le plus intéressant si vous utilisez la liste pour réinstaller les paquetages.

Jonathan
la source
3
Bonne réponse. Savez-vous comment obtenir une liste des packages installés par l'utilisateur? Cela peut être différent de leaves.
Steven Shaw
Ouais, par exemple, javan'est pas répertorié dans leavesparce qu'il s'agit d'une dépendance à un autre projet même si je l'ai installé moi-même.
Saad Malik
61

brew bundlepeut aussi être intéressant si vous le demandez parce que vous voulez gérer votre installation de brassage. Cela inclut les fûts, ce qui brew listn’est pas le cas. Il est destiné à avoir des configurations Homebrew reproductibles.

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

Vous pouvez utiliser le --globaldrapeau pour agir sur votre ~/Brewfileet -fpour forcer le remplacement de votre fichier existant (pour l’installation, la désinstallation des paquetages non répertoriés sera forcée).

Sam Brightman
la source
C'est excellent! Je n'avais aucune idée que cela existait. Je vous remercie. Je souhaite seulement que ce soit comme brew leaveset omette les paquets que vous n'avez pas installés directement, mais que vous avez obtenus en tant que dépendances. À l'avenir, un paquet peut changer de dépendance, mais vous l'installerez quand même et n'en aurez pas besoin.
Bruno Bronosky
Oui. Il semble que chaque gestionnaire de paquets passe par cette phase de non différenciation des deux.
Sam Brightman
1
Un dépotoir récent suggère que cela bundleexclut maintenant les dépendances. Certains changements, tels que le style de citation et l'ordre, compliquent la compréhension du diff, mais dans l'ensemble, il semble qu'au moins certaines bibliothèques manquent Brewfilemais sont installées.
Sam Brightman
20

La brew listcommande Executioning affiche une liste simple, triée par ordre alphabétique, de tous les packages installés.

Cependant, divers packages requis (dépendances) sont automatiquement installés lors de l'installation d'un package à l'aide de Homebrew. Il est possible d'afficher la liste de tous les packages installés sous forme d'arborescence de dépendances bien formatée. Pour le voir, exécutez la commande suivante:

brew deps --tree --installed

Un exemple de sortie est indiqué ci-dessous:

gdbm

openssl

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

readline

sqlite
└── readline

xz

Les paquetages listés indépendamment (par exemple, gdbmet openssldans l'exemple de sortie ci-dessus) n'ont aucune dépendance. Les dépendances des packages décrits dans une arborescence ont été répertoriées au niveau immédiatement inférieur (par exemple, les packages sqlitenécessitent l' readlineinstallation du package ). Les packages répertoriés aux nœuds d'extrémité dans les structures arborescentes ne comportent aucune dépendance.

Les dépendances visualisées dans une arborescence peuvent aider à se débarrasser facilement des paquets inutiles.

Nimesh Neema
la source
1
La brew leavescommande mentionnée ci-dessus est utile à cet égard; il ne répertorie que les packages de niveau supérieur.
Paul Bissex
6

Vous pouvez utiliser brew list | grep 'package-name'ou si vous recherchez un package spécifique.
brew list 'package-name'fonctionne également et fournit des informations supplémentaires.

Rahul Prasad
la source