Liste over alle pakker, der er installeret ved hjælp af Homebrew

Er det muligt, og hvordan får jeg en liste over alle pakker, der er installeret på min Mac ved hjælp af Homebrew? Jeg er ikke interesseret i pakker installeret uden for Homebrew.

Svar

brew list og brew list --cask

Kørsel brew list viser en liste over alle dine installerede Homebrew-pakker.

Derudover vil brew list --cask levere de genstande, der er installeret ved hjælp af Homebrew Cask .

bryggeliste

Kommentarer

  • Hvis du havde denne liste i en txt-fil. Hvordan ville du gå rundt om at installere dem alle? brew install < list.txt virker ' ikke til at fungere.
  • @Jonathan xargs brew install < list.txt Du er velkommen til at stille et separat spørgsmål for at få flere detaljer eller en afklaring.
  • @grgarside – elsker din terminalprompt. ville du være villig til at dele dine konfigurationsfiler for at få min prompt til at se sådan ud?
  • @Kaushik I ' har endelig skrevet et blogindlæg om min terminal / shell-opsætning – du er velkommen til at stille spørgsmål der.
  • Brug brew list --formulae hvis brew list er blokeret

Svar

brew leaves viser dig alle pakker på øverste niveau. Det er pakker, der ikke er afhængigheder. Dette bør være det mest interessante, hvis du bruger listen til at geninstallere pakker.

Svar

brew bundle kan også være interessant, hvis du spørger, fordi du vil styre din bryginstallation. Dette inkluderer fade, som brew list ikke gør. Det sigter mod at have reproducerbare Homebrew-opsætninger.

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

Du kan bruge --global -flagget til at betjene din ~/.Brewfile og -f/--force for at tvinge overskrivning af din eksisterende fil (til installation tvinger dette afinstallation af ikke-nævnte pakker).

Kommentarer

  • En nylig dump af mig antyder, at bundle nu udelukker afhængigheder. Der er nogle andre ændringer som citatstil og ordning, der gør det sværere at forstå forskellen, men generelt ser det ud til, at i det mindste nogle biblioteker mangler fra Brewfile men installeret.

Svar

Udførelse af brew list kommando viser en simpel, alfabetisk sorteret liste over alle de installerede pakker.

Imidlertid installeres forskellige nødvendige pakker (afhængigheder) automatisk, når du installerer en pakke ved hjælp af Homebrew. Det er muligt at se listen over alle de installerede pakker som et pænt formateret afhængighedstræ. For at se det skal du udføre følgende kommando:

brew deps --tree --installed

Et eksempel på en output er som vist nedenfor:

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

De uafhængigt anførte pakker (f.eks. gdbm og openssl i eksemplet ovenfor) ingen afhængigheder. Pakkerne, der er afbildet som en del af en træstruktur, har deres afhængighed angivet på øjeblikkeligt lavere niveau (f.eks. Pakke sqlite kræver, at pakken readline skal være installeret). Pakkerne, der er anført på bladnoder i træstrukturerne, har ingen afhængigheder.

Afhængigheder visualiseret i en trestruktur kan hjælpe med let at slippe af med de unødvendige pakker.

Svar

Du kan bruge brew list | grep "package-name" eller hvis du leder efter en specifik pakke.
brew list "package-name" fungerer også og giver yderligere information.

Svar

Andet har nævnt brew leaves, der viser ting, der ikke er afhængigheder; og brew deps --tree --installed, der viser afhængighedstræet for alle installerede pakker.

Jeg finder den mest nyttige output af ethvert svar endnu, er kombinationen af disse.

 brew deps --tree $(brew leaves)  

Dette viser det komplette træ til din bryginstallation.

Svar

For at se brygpakker:

brew list 

For at se fatpakker:

brew list --cask 

For at se opgraderbare brygpakker:

brew outdated 

For at se opgraderbare fadspakker

brew outdated --cask 

Svar

Du kan bruge dette uddrag til at liste alle installerede pakker og sortere dem efter 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  

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *