Czy jest możliwe i jak uzyskać listę wszystkich pakietów zainstalowanych na moim Macu przy użyciu Homebrew
? Nie interesują mnie pakiety zainstalowane poza Homebrew.
Odpowiedź
brew list
a brew list --cask
Uruchomienie brew list
pokaże listę wszystkich zainstalowanych pakietów Homebrew.
Ponadto brew list --cask
zapewni elementy zainstalowane za pomocą Homebrew Cask .
Komentarze
Odpowiedź
brew leaves
pokazuje wszystkie pakiety najwyższego poziomu. To są pakiety, które nie są zależnościami. Powinno to być najbardziej interesujące, jeśli używasz listy do ponownej instalacji pakietów.
Odpowiedź
brew bundle
może być również interesujące, jeśli pytasz, ponieważ chcesz zarządzać swoją instalacją warzenia. Obejmuje to beczki, które brew list
nie. Ma na celu uzyskanie powtarzalnych konfiguracji Homebrew.
# creates Brewfile in the current directory from currently-installed packages brew bundle dump # edit Brewfile # install everything from the Brewfile brew bundle
Możesz użyć flagi --global
, aby operować na swoim ~/.Brewfile
i -f/--force
, aby wymusić nadpisanie istniejącego pliku (w przypadku instalacji wymusi to odinstalowanie pakietów niewymienionych na liście).
Komentarze
- Mój niedawny zrzut sugeruje, że
bundle
wyklucza teraz zależności. Istnieją inne zmiany, takie jak styl cytowania i kolejność, które utrudniają zrozumienie różnicy, ale ogólnie wygląda na to, że brakuje przynajmniej niektórych bibliotek wBrewfile
, ale są one zainstalowane.
Odpowiedź
Wykonanie polecenia brew list
wyświetla prostą, posortowaną alfabetycznie listę wszystkie zainstalowane pakiety.
Jednak różne wymagane pakiety (zależności) są instalowane automatycznie podczas instalacji pakietu przy użyciu Homebrew. Możliwe jest przeglądanie listy wszystkich zainstalowanych pakietów jako ładnie sformatowanego drzewa zależności. Aby go wyświetlić, wykonaj następujące polecenie:
brew deps --tree --installed
Przykładowe dane wyjściowe są pokazane poniżej:
gdbm openssl python ├── gdbm ├── openssl ├── readline ├── sqlite │ └── readline └── xz readline sqlite └── readline xz
Niezależnie wymienione pakiety (np. gdbm
i openssl
w przykładowym wyniku powyżej) mają brak zależności. Pakiety przedstawione jako część struktury drzewa mają swoje zależności wymienione bezpośrednio na niższym poziomie (np. Pakiet sqlite
wymaga, aby pakiet readline
był zainstalowany). Pakiety wymienione w węzłach liści w strukturach drzewa nie mają żadnych zależności.
Zależności wizualizowane w strukturze drzewa mogą pomóc w łatwym pozbyciu się niepotrzebnych pakietów.
Odpowiedź
Możesz użyć brew list | grep "package-name"
lub jeśli szukasz konkretnego pakietu.
brew list "package-name"
również działa i dostarcza dodatkowych informacji.
Odpowiedź
Inne wspomnieliśmy o brew leaves
, które zawiera listę rzeczy, które nie są „t zależnościami”, oraz brew deps --tree --installed
, które zawiera drzewo zależności dla wszystkich zainstalowanych pakietów.
Uważam, że najbardziej użytecznym wynikiem wszystkich odpowiedzi jest ich kombinacja.
brew deps --tree $(brew leaves)
Spowoduje to wyświetlenie pełnego drzewa Twojej instalacji brew.
Odpowiedź
Aby zobaczyć pakiety brew:
brew list
Aby zobaczyć pakiety beczek:
brew list --cask
Aby zobaczyć pakiety warzenia z możliwością aktualizacji:
brew outdated
Aby zobaczyć pakiety beczek z możliwością aktualizacji
brew outdated --cask
Odpowiedź
Możesz użyć tego fragmentu , aby wyświetlić listę wszystkich zainstalowanych pakietów i posortować je według rozmiar.
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
nie ' wydaje się działać.xargs brew install < list.txt
Nie wahaj się zadać osobnego pytania, aby uzyskać więcej informacji lub wyjaśnienia.brew list --formulae
, jeślibrew list
jest zablokowane