67

Есть ли способ получить список всех формул (пакетов), которые я могу установить, используя homebrew для Mac OS X?

7 ответов7

75

онлайн

Вы можете посетить формула.brew.sh.

С вашего Mac

Если вы просто хотите имена пакетов для всех формул:

brew search

Следующая команда выведет список фрагментов информации для всех существующих формул Homebrew:

brew info --all

Или просмотрите локальный репозиторий Git - спасибо Mk12 за это:

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

Помимо упомянутых вещей, на braumeister.org доступен онлайн-браузер пакетов.

5

Вы также можете взглянуть на сайт индекса формул Homebrew (это мой проект). Цель этого веб-сайта - предоставить простой способ поиска формулы для домашнего пива.

1

Технически, ответ, представленный @ pengii23 выше, является правильным, но, как мы знаем, JSON не очень легко понять. Более того, в результате получается более 266 000 строк для 4546 пакетов или более 56 строк на пакет.

То, что мы действительно хотим, это просто имя пакета и описание пакета. Формат может быть примерно таким:

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

Теперь, если вы выполнили brew install gron , у меня для вас есть командная строка, которая сгенерирует приведенный выше тип вывода:

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

Обратите внимание, что вы должны заменить буквенный символ «^ I» в строке выше реальным символом табуляции. По какой-то причине моему sed не нравится '\t' вместо буквального символа табуляции, и, конечно, вставка реального символа табуляции здесь не сработает.

Во всяком случае, вот несколько первых строк вывода из команды выше:

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

И вот последние несколько строк вывода из команды выше:

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

Там вы идете! Если вы перенаправите этот вывод в файл, вы сможете быстро найти файл для любого вида описания, которое вы ищете.

Например, если вы ищете команды сжатия, выполнение brew search compress не очень полезно:

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

Но если мы сохранили вывод команды, приведенной выше, в файл в /tmp/brew.txt , то простой grep compress /tmp/brew.txt вернет 60 совпадений ! Давайте посмотрим на первые несколько:

$ 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

Таким образом, если вы искали расширенные программы сжатия, такие как brotli или zstd , но не знали точных имен, которые нужно искать, то brew search compress не будет полезен для вас, но просмотр выходных данных вышеуказанной команды вернет эти два плюс 58 хитов!

Пожалуйста! ;)

[РЕДАКТИРОВАТЬ: Ой! Извините, я забыл удалить runtime_dependencies из предыдущей версии скрипта. Вздох.... ]

0

Вы можете составить список формул Homebrew, используя команду

brew search

или просматривать в Интернете, используя http://formulae.brew.sh/ (или http://braumeister.org/ - кажется, это та же страница).

Однако существуют дополнительные пакеты, которые можно установить с помощью расширения Homebrew, которое называется Cask. Он может загружать и устанавливать готовые бинарные приложения, такие как GIMP, LibreOffice или даже не- FOSS, такие как TeamViewer. Бочки могут быть перечислены с помощью

brew cask search

и искали на https://caskroom.github.io/search.

0

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

0

По состоянию на 27 мая 2016 года только

brew info --all

недостаточно для перечисления всех формул. Вы должны дополнительно добавить ключ --json = v1 (в настоящее время поддерживается только v1, что вы можете увидеть, набрав brew info --help):

brew info --json=v1 --all

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .