Список всех пакетов, установленных с использованием Homebrew
Возможно ли и как получить список всех пакетов, установленных на моем Mac, используя Homebrew
? Меня не интересуют пакеты, установленные за пределами Homebrew.
5 ответов
brew leaves
показывает вам все пакеты верхнего уровня. Это пакеты, которые не являются зависимостями. Это должно быть самым интересным, если вы используете список для переустановки пакетов.
brew bundle
также может быть интересным, если вы спрашиваете, потому что вы хотите управлять своей установкой. Сюда входят боксы, в которых 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 list | grep 'package-name'
или если вы ищете конкретный пакет. brew list 'package-name'
также работает и предоставляет дополнительную информацию.
Выполнение команды brew list
показывает простой, отсортированный в алфавитном порядке список всех установленных пакетов.
Тем не менее, различные необходимые пакеты (зависимости) автоматически устанавливаются при установке пакета с использованием Homebrew. Список всех установленных пакетов можно просмотреть как красиво отформатированное дерево зависимостей. Чтобы просмотреть его, выполните следующую команду:
brew deps --tree --installed
Пример вывода показан ниже:
gdbm
openssl
python
├── gdbm
├── openssl
├── readline
├── sqlite
│ └── readline
└── xz
readline
sqlite
└── readline
xz
Отдельно перечисленные пакеты (например, gdbm и openssl в вышеприведенном примере) не имеют параметров. Пакеты, изображенные как часть древовидной структуры, имеют свою зависимость, перечисленную на ближайшем нижнем уровне (например, пакет sqlite требует, чтобы пакет readline был установлен). Пакеты, перечисленные в листовых узлах в древовидных структурах, не имеют зависимостей.
Зависимости, визуализируемые в древовидной структуре, могут помочь легко избавиться от ненужных пакетов.