Wo finde ich eine Liste aller für Homebrew verfügbaren Formeln?

72

Gibt es eine Möglichkeit, eine Liste aller Formeln (Pakete) abzurufen, die ich mit Homebrew für Mac OS X installieren kann ?

BetaRide
quelle

Antworten:

78

Online

Sie können formulae.brew.sh besuchen .

Von deinem Mac

Wenn Sie nur die Paketnamen für alle Formeln möchten:

brew search

Der folgende Befehl listet die Info-Snippets für alle vorhandenen Homebrew-Formeln auf:

brew info --all

Oder durchsuchen Sie das lokale Git-Repository - danke an Mk12 dafür:

find /usr/local/Homebrew/ -type d -name "Formula" -exec ls -1 {} \;
slhck
quelle
1
Oder für eine dritte Optionls $(brew --prefix)/Library/Formula
mk12
2
brew serverwird nicht unterstützt und wird bald entfernt. Sie sollten stattdessen braumeister.org verwenden.
Michael Dorst
brew serverScheint jetzt entfernt worden zu sein (genau ab Homebrew 0.9.5 (Git-Revision 5745; letzter Commit 2016-01-04))
stkent
github.com/mxcl/homebrew/tree/master/Library/Formula das funktioniert nicht mehr. Gibt eine 404
Kavalkade
1
@MattTagg Danke, ich habe den Link repariert. Sie teilen die Formeln jetzt in verschiedene Repos auf.
Slhck
21

Neben den genannten Dinge slhck, gibt es einen Online - Paket - Browser zur Verfügung zu braumeister.org

Marco Peluso
quelle
Ich konnte die benötigte Version finden. Vielen Dank
Krishna Vedula
5

Sie können auch einen Blick auf die Homebrew-Formelindex- Website werfen (das ist mein Projekt ). Ziel dieser Website ist es, eine einfache Suche nach einer Homebrew-Formel zu ermöglichen.

ZedTuX
quelle
Ich habe also Braurezepturen gefunden, kann die Formel für Mess aber nicht finden. Muss ich etwas tun, um Homebrew und Brewformeln zu integrieren?
David Hoelzer,
1

Technisch gesehen ist die Antwort von @ pengii23 richtig, aber wie wir wissen, ist JSON nicht sehr einfach zu verstehen. Darüber hinaus führt dies zu über 266.000 Ausgabezeilen für 4546 Pakete oder mehr als 56 Zeilen pro Paket.

Was wir wirklich wollen, ist nur der Paketname und die Paketbeschreibung. Das Format könnte ungefähr so ​​aussehen:

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

Nun, wenn Sie eine gemacht haben brew install gron, dann habe ich einen Dutzend Befehlszeilen für Sie, die die Art der Ausgabe oben erzeugen:

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

Beachten Sie, dass Sie das Literal "^ I" in der Zeile oben durch ein tatsächliches Tabulatorzeichen ersetzen müssen. Aus irgendeinem Grund mag mein Sed kein '\ t' anstelle eines wörtlichen Tabulatorzeichens, und natürlich funktioniert das Ausschneiden und Einfügen eines echten Tabulatorzeichens hier nicht.

Wie auch immer, hier sind die ersten Ausgabezeilen des obigen Befehls:

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

Und hier sind die letzten Ausgabezeilen des obigen Befehls:

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

Es geht los! Wenn Sie diese Ausgabe in eine Datei umleiten, können Sie die Datei schnell nach der gewünschten Beschreibung durchsuchen.

Wenn Sie beispielsweise nach Komprimierungsbefehlen suchen, ist das Ausführen von a brew search compressnicht sehr nützlich:

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

Aber wenn wir die Ausgabe des obigen Befehls in einer Datei in gespeichert haben /tmp/brew.txt, gibt ein einfaches grep compress /tmp/brew.txt60 Treffer zurück! Schauen wir uns die ersten an:

$ 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

Wenn Sie also nach erweiterten Komprimierungsprogrammen wie brotlioder suchen zstd, aber nicht genau wissen brew search compress, nach welchen Namen Sie suchen müssen, ist dies für Sie nicht sinnvoll. Wenn Sie jedoch die Ausgabe des obigen Befehls durchsuchen, erhalten Sie diese beiden plus 58 mehr Hits!

Bitte! ;)

[BEARBEITEN: Whoops! Entschuldigung, ich hatte vergessen, die runtime_dependenciesaus der vorherigen Version des Skripts zu entfernen . Seufz ...]

Brad Knowles
quelle
0

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

rdj
quelle
3
Willkommen bei Super User! Während dies die Frage beantworten mag, wäre es eine bessere Antwort, wenn Sie eine Erklärung dafür liefern könnten .
DavidPostill
0

Ab dem 27. Mai 2016 nur

brew info --all

reicht nicht aus, um alle Formeln aufzulisten. Sie müssen zusätzlich den Schalter --json = v1 hinzufügen (derzeit wird nur v1 unterstützt, was Sie sehen, wenn Sie brew info --help eingeben):

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

Sie können Homebrew-Formeln mit dem Befehl auflisten

brew search

oder surfen Sie im Web mit http://formulae.brew.sh/ (oder http://braumeister.org/ - es scheint die gleiche Seite zu sein).

Es gibt jedoch zusätzliche Pakete, die mit einer Homebrew-Erweiterung namens Cask installiert werden können . Es kann vorgefertigte Binäranwendungen wie GIMP, LibreOffice oder auch Nicht- FOSS- Anwendungen wie TeamViewer herunterladen und installieren . Fässer können mit aufgelistet werden

brew cask search

und auf https://caskroom.github.io/search gesucht .

Melebius
quelle