Чи можливо і як отримати список усіх пакунків, встановлених на моєму 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 list
це не так. Він спрямований на можливість відтворення домашніх програм.
# 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
Схоже, не працює.