¿Dónde puedo encontrar una lista de todas las fórmulas disponibles para homebrew?

72

¿Hay alguna manera de obtener una lista de todas las fórmulas (paquetes) que puedo instalar usando homebrew para Mac OS X?

BetaRide
fuente

Respuestas:

78

En línea

Puede visitar formulae.brew.sh .

Desde tu Mac

Si solo desea los nombres de paquete para todas las fórmulas:

brew search

El siguiente comando enumerará los fragmentos de información para todas las fórmulas de Homebrew existentes:

brew info --all

O navegue por el repositorio local de Git, gracias a Mk12 por eso:

find /usr/local/Homebrew/ -type d -name "Formula" -exec ls -1 {} \;
slhck
fuente
1
O para una tercera opción,ls $(brew --prefix)/Library/Formula
MK12
2
brew serverno es compatible y se eliminará pronto. Deberías usar braumeister.org en su lugar.
Michael Dorst
brew serverparece haber sido eliminado ahora (exacto a partir de Homebrew 0.9.5 (revisión git 5745; última confirmación 2016-01-04))
stkent
github.com/mxcl/homebrew/tree/master/Library/Formula esto ya no funciona. Da un 404
cabalgata
1
@MattTagg Gracias, arreglé el enlace. Ahora dividen las fórmulas en diferentes repositorios.
slhck
21

Además de las cosas que slhck mencionó, hay un buscador de paquetes en línea disponible en braumeister.org

Marco Peluso
fuente
Pude encontrar la versión necesaria. gracias
Krishna Vedula
5

También puede echar un vistazo al sitio web del índice de fórmulas Homebrew (que es mi proyecto ). El objetivo de este sitio web es proporcionar una manera fácil de buscar una fórmula Homebrew.

ZedTuX
fuente
Entonces encontré brewformulas pero parece que no puedo encontrar la fórmula para Mess, por ejemplo. ¿Hay algo que deba hacer para integrar homebrew y brewformulas?
David Hoelzer
1

Técnicamente, la respuesta proporcionada por @ pengii23 anterior es correcta, pero como sabemos, JSON no es muy fácil de entender. Además, eso da como resultado más de 266,000 líneas de salida para 4546 paquetes, o más de 56 líneas por paquete.

Lo que realmente queremos es solo el nombre del paquete y la descripción del paquete. El formato podría ser algo como esto:

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

Ahora, si ha hecho un brew install gron, entonces tengo una línea de comandos muy generosa para usted que generará el tipo de salida anterior:

$ 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 '"'

Tenga en cuenta que debe reemplazar el literal "^ I" en la línea anterior con un carácter de tabulación real. Por alguna razón, a mi sed no le gusta '\ t' en lugar de un carácter de tabulación literal, y, por supuesto, cortar y pegar un carácter de tabulación real no va a funcionar aquí.

De todos modos, aquí están las primeras líneas de salida del comando anterior:

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

Y aquí están las últimas líneas de salida del comando anterior:

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

Ahí tienes! Si redirige esa salida a un archivo, puede seleccionar rápidamente el archivo para cualquier tipo de descripción que esté buscando.

Por ejemplo, si está buscando comandos de compresión, hacer un brew search compressno es muy útil:

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

Pero si guardamos la salida del comando anterior en un archivo /tmp/brew.txt, ¡un simple grep compress /tmp/brew.txtdevuelve 60 visitas! Echemos un vistazo a los primeros:

$ 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

Por lo tanto, si estaba buscando programas de compresión avanzados como brotlio zstd, pero no sabía los nombres exactos que buscar, entonces brew search compressno sería útil para usted, pero buscar en el resultado del comando anterior devolvería esos dos más 58 más ¡golpes!

¡De nada! ;)

[EDITAR: ¡Vaya! Lo siento, me olvidé de eliminar el runtime_dependenciesde la versión anterior del script. Suspiro ....]

Brad Knowles
fuente
0

grep desc $(brew --prefix)/Library/Formula/*.rb | perl -ne 'm{^.*/(.*?)\.rb.*?\"(.*)"$} and print "$1\t$2\n"'

rdj
fuente
3
¡Bienvenido a Super User! Si bien esto puede responder la pregunta, sería una mejor respuesta si pudiera proporcionar alguna explicación de por qué lo hace.
DavidPostill
0

A partir del 27 de mayo de 2016, solo

brew info --all

no es suficiente para enumerar todas las fórmulas. Además, debe agregar el modificador --json = v1 (actualmente, solo se admite v1, que puede ver cuando escribe brew info --help):

brew info --json=v1 --all
pengii23
fuente
0

Puede enumerar las fórmulas de Homebrew con el comando

brew search

o navegue en la Web usando http://formulae.brew.sh/ (o http://braumeister.org/ - parece ser la misma página).

Sin embargo, hay paquetes adicionales que se pueden instalar usando una extensión Homebrew llamada Cask . Puede descargar e instalar aplicaciones binarias preconstruidas como GIMP, LibreOffice o incluso aplicaciones que no sean FOSS como TeamViewer. Los barriles se pueden enumerar usando

brew cask search

y busqué en https://caskroom.github.io/search .

Melebio
fuente