Onde posso encontrar uma lista de todas as fórmulas disponíveis para o homebrew?

72

Existe uma maneira de obter uma lista de todas as fórmulas (pacotes) que posso instalar usando o homebrew para Mac OS X?

BetaRide
fonte

Respostas:

78

Conectados

Você pode visitar formulae.brew.sh .

Do seu Mac

Se você deseja apenas os nomes dos pacotes para todas as fórmulas:

brew search

O comando a seguir listará os trechos de informações de todas as fórmulas Homebrew existentes:

brew info --all

Ou procure o repositório Git local - graças ao Mk12 por isso:

find /usr/local/Homebrew/ -type d -name "Formula" -exec ls -1 {} \;
slhck
fonte
11
Ou para uma terceira opção,ls $(brew --prefix)/Library/Formula
MK12
2
brew servernão é suportado e será removido em breve. Você deve usar o braumeister.org .
Michael Dorst
brew serverparece ter sido removido agora (exato a partir do Homebrew 0.9.5 (revisão 5745 do git; última confirmação 04-01-2016)) #
stkent
github.com/mxcl/homebrew/tree/master/Library/Formula isso não funciona mais. Dá um 404
cavalcade
11
@MattTagg Obrigado, eu corrigi o link. Agora, eles dividem as fórmulas em diferentes repositórios.
slhck 9/09/16
21

Além das coisas mencionadas pelo slhck, há um navegador de pacotes on-line disponível em braumeister.org

Marco Peluso
fonte
Consegui encontrar a versão necessária. obrigado
Krishna Vedula
5

Você também pode dar uma olhada no site de índice de fórmulas do Homebrew (que é o meu projeto ). O objetivo deste site é fornecer uma maneira fácil de procurar uma fórmula Homebrew.

ZedTuX
fonte
Então eu encontrei brewformulas, mas não consigo localizar a fórmula do Mess, por exemplo. Preciso fazer algo para integrar as homebrew e as brewformulas?
David Hoelzer
1

Tecnicamente, a resposta fornecida por @ pengii23 acima está correta, mas como sabemos, o JSON não é muito fácil de entender. Além disso, isso resulta em mais de 266.000 linhas de saída para 4546 pacotes ou mais de 56 linhas por pacote.

O que realmente queremos é apenas o nome do pacote e a descrição do pacote. O formato pode ser algo como isto:

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

Agora, se você fez a brew install gron, tenho uma linha de comando doozy para gerar o tipo de saída acima:

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

Observe que você precisa substituir o literal "^ I" na linha acima por um caractere de tabulação real. Por alguma razão, meu sed não está gostando de '\ t' em vez de um caractere de tabulação literal e, é claro, cortar e colar um caractere de tab real não funcionará aqui.

De qualquer forma, aqui estão as primeiras linhas de saída do comando acima:

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

E aqui estão as últimas linhas de saída do comando acima:

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

Ai está! Se você redirecionar essa saída para um arquivo, poderá rapidamente cumprimentá-lo para qualquer tipo de descrição que estiver procurando.

Por exemplo, se você estiver procurando por comandos de compactação, fazer um brew search compressnão é muito útil:

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

Mas se salvamos a saída do comando acima em um arquivo /tmp/brew.txt, então um simples grep compress /tmp/brew.txtretorna 60 hits! Vamos dar uma olhada nos primeiros:

$ 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

Portanto, se você estivesse procurando por programas avançados de compactação como brotliou zstd, mas não soubesse os nomes exatos a procurar, brew search compressnão seria útil para você, mas percorrer a saída do comando acima retornaria esses dois mais 58 mais exitos!

De nada! ;)

[EDIT: Opa! Desculpe, esqueci de remover o runtime_dependenciesda versão anterior do script. Suspiro ....]

Brad Knowles
fonte
0

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

rdj
fonte
3
Bem-vindo ao Super Usuário! Embora isso possa responder à pergunta, seria uma resposta melhor se você pudesse fornecer alguma explicação para isso.
DavidPostill
0

Em 27 de maio de 2016, apenas

brew info --all

não é suficiente para listar todas as fórmulas. Além disso, você deve adicionar a opção --json = v1 (atualmente, apenas a v1 é suportada, que você pode ver ao digitar informações de fabricação --help):

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

Você pode listar as fórmulas do Homebrew usando o comando

brew search

ou navegue na Web usando http://formulae.brew.sh/ (ou http://braumeister.org/ - parece ser a mesma página).

No entanto, existem pacotes adicionais que podem ser instalados usando uma extensão Homebrew chamada Cask . Ele pode baixar e instalar aplicativos binários pré-criados como GIMP, LibreOffice ou até aplicativos não FOSS como o TeamViewer. Os barris podem ser listados usando

brew cask search

e pesquisado em https://caskroom.github.io/search .

Melebius
fonte