Можно ли и как получить список всех пакетов, установленных на моем Mac, используя Homebrew? Я не заинтересован в пакетах, установленных вне Homebrew.
Можно ли и как получить список всех пакетов, установленных на моем Mac, используя Homebrew? Я не заинтересован в пакетах, установленных вне Homebrew.
Ответы:
brew list а также brew cask listЗапуск brew listпокажет список всех ваших установленных пакетов Homebrew.
Кроме того, brew cask listпредоставим предметы, установленные с помощью Homebrew Cask .

xargs brew install < list.txtстесняйтесь задавать отдельный вопрос для более подробной информации или разъяснений.
brew install $(< list.txt )
brew leavesпоказывает вам все пакеты верхнего уровня. Это пакеты, которые не являются зависимостями. Это должно быть наиболее интересно, если вы используете список для переустановки пакетов.
leaves.
java, нет в списке, leavesпотому что это зависимость от другого проекта, хотя я сам установил его.
brew bundleтакже может быть интересно, если вы спрашиваете, потому что вы хотите управлять своей установкой brew. Это включает в себя бочки, которых brew listнет. Он нацелен на создание воспроизводимых настроек Homebrew.
# creates Brewfile in the current directory from currently-installed packages
brew bundle dump
# edit Brewfile
# install everything from the Brewfile
brew bundle
Вы можете использовать этот --globalфлаг для работы с вашим файлом ~/Brewfileи -fдля принудительной перезаписи существующего файла (для установки это приведет к удалению не перечисленных пакетов).
brew leavesи пропущенные пакеты, которые вы не установили напрямую, а получили только как зависимости. В будущем пакет может изменить зависимости, но вы все равно установите его и не будете нуждаться в нем.
bundleтеперь исключаются зависимости. Есть некоторые другие изменения, такие как стиль цитат и порядок, которые усложняют понимание различий, но в целом похоже, что по крайней мере некоторые библиотеки отсутствуют, Brewfileно установлены.
Выполнение brew listкоманды показывает простой отсортированный по алфавиту список всех установленных пакетов.
Однако различные необходимые пакеты (зависимости) автоматически устанавливаются при установке пакета с помощью Homebrew. Можно просмотреть список всех установленных пакетов в виде красиво отформатированного дерева зависимостей. Чтобы просмотреть его, выполните следующую команду:
brew deps --tree --installed
Пример вывода такой, как показано ниже:
gdbm
openssl
python
├── gdbm
├── openssl
├── readline
├── sqlite
│ └── readline
└── xz
readline
sqlite
└── readline
xz
Независимо перечисленные пакеты (например, gdbmи opensslв приведенном выше примере вывода) не имеют зависимостей. Пакеты, изображенные как часть древовидной структуры, имеют свои зависимости, перечисленные на более низком уровне (например, пакет sqliteтребует, чтобы пакет readlineбыл установлен) Пакеты, перечисленные в конечных узлах в древовидных структурах, не имеют зависимостей.
Зависимости, отображаемые в древовидной структуре, могут помочь легко избавиться от ненужных пакетов.
brew leavesУпоминалось выше команда полезна в этом отношении; в нем перечислены только пакеты верхнего уровня.
Вы можете использовать brew list | grep 'package-name'или, если ищете конкретный пакет.
brew list 'package-name'также работает и предоставляет дополнительную информацию.
brew install < list.txtне похоже на работу.