73 votes

Où puis-je trouver une liste de toutes les formules disponibles pour le homebrew ?

Existe-t-il un moyen d'obtenir une liste de toutes les formules (paquets) que je peux installer à l'aide de la fonction homebrew pour Mac OS X ?

80voto

slhck Points 209720

En ligne

Vous pouvez visiter formules.brew.sh .

Depuis votre Mac

Si vous voulez seulement les noms des paquets pour toutes les formules :

brew search

La commande suivante donnera la liste des extraits d'information pour toutes les formules Homebrew existantes :

brew info --all

Ou parcourir le dépôt Git local - merci à Mk12 pour cela :

find /usr/local/Homebrew/ -type d -name "Formula" -exec ls -1 {} \;

22voto

kevchadders Points 5819

En dehors des choses slhck a mentionné il existe un navigateur de paquets en ligne disponible à l'adresse suivante formules.brew.sh .

1voto

pengii23 Points 11

À partir du 3 avril 2021, utilisez

brew info --all --json=v1

Pour lister toutes les formules au format JSON. Pour lister également les fûts, utilisez :

brew info --all --json=v2

Appel à brew info --all なくしては --json=vN lance une erreur.

1voto

Aramaicus Points 11

Vous pouvez lister les formules Homebrew en utilisant la commande

brew search

ou naviguer sur le Web en utilisant http://formulae.brew.sh/ .

MISE À JOUR : La recherche de fûts a été intégrée dans les méthodes mentionnées ci-dessus.

1voto

Brad Knowles Points 154

Techniquement, la réponse fournie par @pengii23 ci-dessus est correcte, mais comme nous le savons, JSON n'est pas très facile à comprendre. De plus, cela donne plus de 266 000 lignes de sortie pour 4546 paquets, soit plus de 56 lignes par paquet.

Ce que nous voulons vraiment, c'est juste le nom du paquet et la description du paquet. Le format pourrait être quelque chose comme ceci :

package -- description goes here
pack2 -- other description goes here

Maintenant, si vous avez fait un brew install gron alors j'ai une ligne de commande pour vous qui va générer le type de sortie ci-dessus :

$ brew info --json=v1 --all | gron | egrep '(.desc|.full_name) =' | \
grep -v 'runtime_dependencies' | sed 's/full_name/_name/' | \
gron -u | egrep -v '({|}|\[|\])' | \
sed -e 's/^.*"_name": //' -e 's/^.*"desc": //' | tr -d '\n' | \
sed -e 's/""/^I/g' -e 's/","/ -- /g'| tr '\t' '\n' | tr -d '"'

Notez que vous devez remplacer le "^I" littéral dans la ligne ci-dessus par un caractère de tabulation réel. Pour une raison quelconque, mon sed n'aime pas ' \t au lieu d'un caractère de tabulation littéral, et bien sûr, le copier-coller d'un vrai caractère de tabulation ne fonctionnera pas ici.

Quoi qu'il en soit, voici les premières lignes du résultat de la commande ci-dessus :

a2ps -- Any-to-PostScript filter
a52dec -- Library for decoding ATSC A/52 streams (AKA 'AC-3')
aacgain -- AAC-supporting version of mp3gain
aalib -- Portable ASCII art graphics library
aamath -- Renders mathematical expressions as ASCII art
aap -- Make-like tool to download, build, and install software
aardvark_shell_utils -- Utilities to aid shell scripts or command-line users
abcde -- Better CD Encoder
abcl -- Armed Bear Common Lisp: a full implementation of Common Lisp
abcm2ps -- ABC music notation software

Et voici les dernières lignes du résultat de la commande ci-dessus :

zssh -- Interactive file transfers over SSH
zstd -- Zstandard is a real-time compression algorithm
zsxd -- Zelda Mystery of Solarus XD
zsync -- File transfer program
zurl -- HTTP and WebSocket client worker with ZeroMQ interface
zxcc -- CP/M 2/3 emulator for cross-compiling and CP/M tools under UNIX
zxing-cpp -- C++ port of the ZXing barcode decoder
zyre -- Local Area Clustering for Peer-to-Peer Applications
zzuf -- Transparent application input fuzzer
zzz -- Command-line tool to put Macs to sleep

Et voilà ! Si vous redirigez cette sortie vers un fichier, vous pouvez alors rechercher rapidement dans ce fichier le type de description que vous recherchez.

Par exemple, si vous recherchez des commandes de compression, faites un brew search compress n'est pas très utile :

$ brew search compress
==> Searching local taps...
htmlcompressor            ncompress            yuicompressor
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...

Mais si nous avons enregistré la sortie de la commande ci-dessus dans un fichier dans le répertoire /tmp/brew.txt alors un simple grep compress /tmp/brew.txt renvoie 60 résultats ! Jetons un coup d'œil aux premières :

$ grep -i compress /tmp/brew.txt | head
advancecomp -- Recompression utilities for .PNG, .MNG, .ZIP, and .GZ files
afsctool -- Utility for manipulating HFS+ compressed files
aften -- Audio encoder which generates ATSC A/52 compressed audio streams
archivemail -- Tool for archiving and compressing old email in mailboxes
brotli -- Generic-purpose lossless compression algorithm by Google
bzip2 -- Freely available high-quality data compressor
draco -- 3D geometric mesh and point cloud compression library
ecm -- Prepare CD image files so they compress better
epsilon -- Powerful wavelet image compressor
exomizer -- 6502 compressor with CBM PET 4032 support

Donc, si vous recherchez des programmes de compression avancés tels que brotli o zstd mais vous ne connaissiez pas les noms exacts à rechercher, alors brew search compress ne vous sera pas utile, mais si vous parcourez la sortie de la commande ci-dessus, vous obtiendrez ces deux résultats et 58 autres !

De rien ! ;)

[ EDIT : Whoops ! Désolé, j'avais oublié d'enlever le runtime_dependencies de la version précédente du script. Sigh.... ]

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X