Je možné a jak získám seznam všech balíčků nainstalovaných na mém počítači Mac pomocí Homebrew
? Nezajímají mě balíčky nainstalované mimo Homebrew.
Odpovědět
brew list
a brew list --cask
Po spuštění brew list
se zobrazí seznam všech nainstalovaných balíčků Homebrew.
Kromě toho brew list --cask
poskytne položky nainstalované pomocí Homebrew Cask .
Komentáře
odpověď
brew leaves
zobrazuje všechny balíčky nejvyšší úrovně. To jsou balíčky, které nejsou závislostmi. To by mělo být nejzajímavější, pokud používáte seznam k opětovné instalaci balíčků.
Odpověď
brew bundle
může být také zajímavé, pokud se ptáte, protože chcete spravovat instalaci vaření. To zahrnuje sudy, což brew list
nikoli. Jejím cílem je mít reprodukovatelné nastavení Homebrew.
# creates Brewfile in the current directory from currently-installed packages brew bundle dump # edit Brewfile # install everything from the Brewfile brew bundle
K provozu ůžete použít příznak --global
div id = „f05cce3625″>
a -f/--force
vynutit přepsání stávajícího souboru (při instalaci to vynutí odinstalaci neuvedených balíků).
Komentáře
- Moje nedávná skládka naznačuje, že
bundle
nyní vylučuje závislosti. Existují některé další změny, jako je styl nabídky a objednávání, které ztěžují pochopení rozdílu, ale celkově to vypadá, že alespoň některé knihovny vBrewfile
chybí, ale jsou nainstalovány.
Odpověď
Po spuštění příkazu brew list
se zobrazí jednoduchý, abecedně seřazený seznam všechny nainstalované balíčky.
Při instalaci balíčku pomocí Homebrew se však automaticky nainstalují různé požadované balíčky (závislosti). Je možné zobrazit seznam všech nainstalovaných balíků jako pěkně naformátovaný strom závislostí. Chcete-li jej zobrazit, proveďte následující příkaz:
brew deps --tree --installed
Příklad výstupu je uveden níže:
gdbm openssl python ├── gdbm ├── openssl ├── readline ├── sqlite │ └── readline └── xz readline sqlite └── readline xz
Nezávisle uvedené balíčky (např. gdbm
a openssl
ve výše uvedeném příkladu) mají žádné závislosti. Balíčky zobrazené jako součást stromové struktury mají svoji závislost uvedenou na okamžité nižší úrovni (např. Balíček sqlite
vyžaduje, aby byl balíček readline
nainstalován). Balíčky uvedené v listových uzlech ve stromových strukturách nemají žádné závislosti.
Závislosti vizualizované ve stromové struktuře mohou pomoci při snadném zbavování se nepotřebných balíčků.
Odpověď
Můžete použít brew list | grep "package-name"
nebo pokud hledáte konkrétní balíček.
brew list "package-name"
také funguje a poskytuje další informace.
Odpověď
Ostatní zmínili brew leaves
, který uvádí věci, které nejsou závislé; a brew deps --tree --installed
, který uvádí strom závislostí pro všechny nainstalované balíčky.
Považuji za nejužitečnější výstup ze všech odpovědí, ale jejich kombinace.
brew deps --tree $(brew leaves)
Zobrazí se seznam všech stromů vaší instalace vaření.
Odpověď
Chcete-li zobrazit balíčky brew:
brew list
Chcete-li zobrazit balíčky sudů:
brew list --cask
Chcete-li zobrazit upgradovatelné balíčky vaření:
brew outdated
Chcete-li zobrazit upgradovatelné balíčky sudů
brew outdated --cask
Odpovědět
Pomocí tohoto fragmentu můžete zobrazit seznam všech nainstalovaných balíků a seřadit je podle velikost.
brew list --formula | \ xargs -n1 -P8 -I {} \ sh -c " brew info {} | \ egrep "[0-9]* files, " | \ sed "s/^.*[0-9]* files, \(.*\)).*$/{} \1/" " | \ sort -h -r -k2 - | \ column -t
brew install < list.txt
Zdá se, že ' nefunguje.xargs brew install < list.txt
Neváhejte se zeptat na samostatnou otázku, kde získáte další podrobnosti nebo vysvětlení.brew list --formulae
pokudbrew list
je blokován