Можно ли и как получить список всех пакетов, установленных на моем 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
не похоже на работу.