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 .
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
hvisbrew 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
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
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 fraBrewfile
men installeret.