Liste over alle pakker installert ved hjelp av Homebrew

Er det mulig og hvordan får jeg en liste over alle pakkene som er installert på min Mac ved hjelp av Homebrew? Jeg er ikke interessert i pakker som er installert utenfor Homebrew.

Svar

brew list og brew list --cask

Kjører brew list viser en liste over alle dine installerte Homebrew-pakker.

I tillegg vil brew list --cask levere elementene som er installert ved hjelp av Homebrew Cask .

bryggeliste

Kommentarer

  • Hvis du hadde denne listen i en txt-fil. Hvordan vil du installere dem alle? brew install < list.txt virker ikke ' t.
  • @Jonathan xargs brew install < list.txt Still gjerne et eget spørsmål for mer informasjon eller avklaring.
  • @grgarside – kjærlighet til terminalprompten. ville du være villig til å dele konfigurasjonsfilene dine for å få ledeteksten min til å se slik ut?
  • @Kaushik Jeg ' har endelig skrevet et blogginnlegg om min terminal / shell-oppsett – still gjerne spørsmål der.
  • Bruk brew list --formulae hvis brew list er blokkert

Svar

brew leaves viser deg alle pakker på toppnivå. Det er pakker som ikke er avhengigheter. Dette bør være det mest interessante hvis du bruker listen til å installere pakker på nytt.

Svar

brew bundle kan også være interessant hvis du spør om du vil administrere bryggeinstallasjonen. Dette inkluderer fat, som brew list ikke gjør det. Det er rettet mot å ha reproduserbare Homebrew-oppsett.

# creates Brewfile in the current directory from currently-installed packages brew bundle dump # edit Brewfile # install everything from the Brewfile brew bundle 

Du kan bruke --global -flagget til å betjene ~/.Brewfile og -f/--force for å tvinge overskriving av din eksisterende fil (for installasjon vil dette tvinge avinstallering av ikke-oppførte pakker).

Kommentarer

  • En nylig dump av meg antyder at bundle nå ekskluderer avhengigheter. Det er noen andre endringer som tilbudstil og bestilling som gjør det vanskeligere å forstå forskjellen, men generelt ser det ut til at i det minste noen biblioteker mangler fra Brewfile men installert.

Svar

Å utføre brew list kommando viser en enkel, alfabetisk sortert liste over alle de installerte pakkene.

Imidlertid blir forskjellige nødvendige pakker (avhengigheter) automatisk installert når du installerer en pakke med Homebrew. Det er mulig å se listen over alle de installerte pakkene som et pent formatert avhengighetstre. For å se det, utfør følgende kommando:

brew deps --tree --installed

Et eksempel på utdata er som vist nedenfor:

gdbm openssl python ├── gdbm ├── openssl ├── readline ├── sqlite │ └── readline └── xz readline sqlite └── readline xz 

De uavhengig oppførte pakkene (f.eks. gdbm og openssl i eksemplet ovenfor) har ingen avhengigheter. Pakningene som er avbildet som en del av en trestruktur har sin avhengighet oppført på umiddelbart lavere nivå (f.eks. Pakke sqlite krever at pakken readline installert). Pakkene som er oppført ved bladnoder i trestrukturene, har ingen avhengigheter.

Avhengigheter visualisert i en trestruktur kan hjelpe deg med å bli kvitt unødvendige pakker.

Svar

Du kan bruke brew list | grep "package-name" eller hvis du leter etter en spesifikk pakke.
brew list "package-name" fungerer også og gir tilleggsinformasjon.

Svar

Annet har nevnt brew leaves, som viser ting som ikke er avhengigheter, og brew deps --tree --installed som viser avhengighetstreet for alle installerte pakker.

Jeg finner den mest nyttige utgangen av alle svar ennå, er kombinasjonen av disse.

 brew deps --tree $(brew leaves)  

Dette viser hele treet til bryggeinstallasjonen.

Svar

For å se brygpakker:

brew list 

For å se fatpakker:

brew list --cask 

For å se oppgraderbare brygpakker:

brew outdated 

For å se oppgraderbare fatpakker

brew outdated --cask 

Svar

Du kan bruke denne kodebiten til å liste opp alle installerte pakker og sortere etter deres størrelse.

 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  

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *