1002 votes

Liste de tous les paquets installés à l'aide de Homebrew

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

1164voto

grg Points 181593

brew list y brew list --cask

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

En outre, brew list --cask fournira les éléments installés à l'aide de Fût de bière artisanale .

brew list

4 votes

Si vous aviez cette liste dans un fichier txt. Comment feriez-vous pour les installer tous ? brew install < list.txt ne semble pas fonctionner.

62 votes

@Jonathan xargs brew install < list.txt N'hésitez pas à poser une question distincte pour obtenir plus de détails ou des précisions.

4 votes

@grgarside - j'adore votre invite de terminal. seriez-vous prêt à partager vos fichiers de configuration pour que mon invite ressemble à cela ?

646voto

Bran Handley Points 73

brew leaves vous montre tous les paquets de premier niveau. C'est-à-dire les paquets qui ne sont pas des dépendances. Cela devrait être le plus intéressant si vous utilisez la liste pour réinstaller des paquets.

Afin d'inclure les descriptions, utilisez

brew leaves | xargs -n1 brew desc

36 votes

Ne répertoriez que les feuilles qui ont été installées manuellement : brew leaves --installed-on-request | xargs -n1 brew desc

7 votes

brew leaves il manque des fûts

165voto

Curt Hagenlocher Points 12432

brew bundle peut également être intéressante si vous la demandez parce que vous voulez gérer votre installation de brassage. Cela inclut les fûts, qui brew list ne le fait pas. Le but est d'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 --global pour opérer sur votre ~/.Brewfile y -f/--force pour forcer l'écrasement de votre fichier existant (pour l'installation, cela forcera la désinstallation des paquets non listés).

9 votes

Une de mes récentes décharges suggère que bundle exclut désormais les dépendances. Il y a d'autres changements, comme le style et l'ordre des citations, qui rendent plus difficile la compréhension de la différence, mais dans l'ensemble, il semble qu'au moins quelques bibliothèques manquent à l'appel. Brewfile mais installé.

0 votes

- Ce que je souhaite, c'est de disposer sur la machine B des mêmes logiciels basés sur Brew que sur la machine A. Mais de configurer à nouveau les différentes applications afin de prendre un nouveau départ et de me débarrasser de tout ce que j'ai pu accumuler au fil des années sur la machine A. - Est-ce que "brew bundle dump" sur la machine A, le déplacement de ~/Brewfile sur la machine B et l'exécution de "brew bundle" est la bonne séquence de commande pour ce faire ? - Après l'installation sur la nouvelle machine B, brew y installera-t-il la bonne architecture (c'est-à-dire Apple Silicon au lieu d'Intel x64) et installera-t-il toutes les dépendances nécessaires ?

2 votes

Vous pouvez vérifier brew bundle --help pour les détails et examiner le fichier de brassage. Je pense que cette réponse est une manière plus complète et plus idiomatique de le faire que la réponse acceptée - par exemple, elle inclut les robinets et les fûts. Elle est indépendante de l'architecture et installera les dépendances. Si vous voulez que la machine B désinstalle aussi les paquets qui ne sont pas dans le Brewfile, vous devrez fournir --cleanup ou faire un brew bundle cleanup .

97voto

Nimesh Neema Points 44385

Exécuter brew list affiche une liste simple, triée par ordre alphabétique, de tous les paquets installés.

Cependant, plusieurs paquets requis (dépendances) sont automatiquement installés lors de l'installation d'un paquet en utilisant Homebrew. Il est possible d'afficher la liste de tous les paquets installés sous la forme d'un arbre de dépendances joliment formaté. Pour l'afficher, exécutez la commande suivante :

brew deps --tree --installed

Un exemple de sortie est présenté ci-dessous :

gdbm

openssl

python
 gdbm
 openssl
 readline
 sqlite
    readline
 xz

readline

sqlite
 readline

xz

Les paquets répertoriés indépendamment (par exemple gdbm y openssl dans l'exemple de sortie ci-dessus) n'ont pas de dépendances. Les paquets représentés comme faisant partie d'une structure arborescente ont leur dépendance listée au niveau immédiatement inférieur (par exemple, le paquet sqlite exige que le paquet readline à installer). Les paquets listés aux nœuds feuilles de l'arborescence n'ont pas de dépendances.

La visualisation des dépendances dans une structure arborescente peut aider à se débarrasser facilement des paquets inutiles.

1 votes

Excellente réponse. J'obtiens mes paquets de niveau supérieur avec : brew deps --tree --installed --full-name | grep -v "" | grep -e "^\w" | count . Comment voir les différences entre les formules et les fûts

18voto

Mike Miller Points 5797

D'autres ont mentionné brew leaves qui liste les éléments qui ne sont pas des dépendances ; et brew deps --tree --installed qui liste l'arbre des dépendances de tous les paquets installés.

Je trouve que le résultat le plus utile de toutes les réponses est la combinaison de celles-ci.

brew deps --tree $(brew leaves)

Cela va lister l'arbre complet de votre installation de brew.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X