Is het mogelijk en hoe krijg ik een lijst van alle pakketten die op mijn Mac zijn geïnstalleerd met Homebrew
? Ik ben niet geïnteresseerd in pakketten die buiten Homebrew zijn geïnstalleerd.
Answer
brew list
en brew list --cask
Als brew list
wordt uitgevoerd, wordt een lijst met al je geïnstalleerde Homebrew-pakketten weergegeven.
Bovendien biedt brew list --cask
de items die zijn geïnstalleerd met Homebrew Cask .
Reacties
Antwoord
brew leaves
toont u alle pakketten op het hoogste niveau. Dat zijn pakketten die geen afhankelijkheden zijn. Dit zou het meest interessant moeten zijn als u de lijst gebruikt om pakketten opnieuw te installeren.
Antwoord
brew bundle
kan ook interessant zijn als u daarom vraagt, omdat u uw brouwinstallatie wilt beheren. Dit omvat vaten, die brew list
niet. Het is erop gericht om reproduceerbare Homebrew-instellingen te hebben.
# creates Brewfile in the current directory from currently-installed packages brew bundle dump # edit Brewfile # install everything from the Brewfile brew bundle
U kunt de --global
vlag gebruiken om op uw ~/.Brewfile
en -f/--force
om het overschrijven van uw bestaande bestand te forceren (voor installatie zal dit de verwijdering van niet-vermelde pakketten afdwingen).
Reacties
- Een recente dump van mij suggereert dat
bundle
nu afhankelijkheden uitsluit. Er zijn enkele andere wijzigingen, zoals de stijl van de aanhalingstekens en de volgorde, die het moeilijker maken om de diff te begrijpen, maar over het algemeen lijkt het erop dat er tenminste enkele bibliotheken ontbreken inBrewfile
maar geïnstalleerd.
Antwoord
Het uitvoeren van brew list
commando toont een eenvoudige, alfabetisch gesorteerde lijst van alle geïnstalleerde pakketten.
Verschillende vereiste pakketten (afhankelijkheden) worden echter automatisch geïnstalleerd bij het installeren van een pakket met Homebrew. Het is mogelijk om de lijst met alle geïnstalleerde pakketten te bekijken als een mooi opgemaakte afhankelijkheidsboom. Om het te bekijken, voert u het volgende commando uit:
brew deps --tree --installed
Een voorbeelduitvoer is zoals hieronder getoond:
gdbm openssl python ├── gdbm ├── openssl ├── readline ├── sqlite │ └── readline └── xz readline sqlite └── readline xz
De onafhankelijk vermelde pakketten (bijv. gdbm
en openssl
in de voorbeelduitvoer hierboven) hebben geen afhankelijkheden. De pakketten die worden afgebeeld als onderdeel van een boomstructuur, hebben hun afhankelijkheid op een direct lager niveau (bijv. Pakket sqlite
vereist dat het pakket readline
geïnstalleerd). De pakketten die op de leaf-knooppunten in de boomstructuren worden vermeld, hebben geen afhankelijkheden.
Afhankelijkheden die in een boomstructuur worden weergegeven, kunnen helpen bij het gemakkelijk verwijderen van de onnodige pakketten.
Antwoord
U kunt brew list | grep "package-name"
gebruiken of als u op zoek bent naar een specifiek pakket.
brew list "package-name"
werkt ook en biedt aanvullende informatie.
Antwoord
Overige hebben brew leaves
genoemd, die dingen opsomt die “geen afhankelijkheden” zijn; en brew deps --tree --installed
die de afhankelijkheidsboom voor alle geïnstalleerde pakketten vermeldt.
Ik vind de meest bruikbare output van alle antwoorden tot nu toe de combinatie hiervan.
brew deps --tree $(brew leaves)
Dit toont de volledige boom van uw brouwinstallatie.
Antwoord
Om brouwpakketten te zien:
brew list
Om cask-pakketten te zien:
brew list --cask
Om upgradebare brouwpakketten te zien:
brew outdated
Om upgradebare cask-pakketten te zien
brew outdated --cask
Antwoord
U kunt dit fragment gebruiken om alle geïnstalleerde pakketten weer te geven en ze te sorteren op hun grootte.
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
lijkt niet ' t te werken.xargs brew install < list.txt
Stel gerust een aparte vraag voor meer details of verduidelijking.brew list --formulae
alsbrew list
is geblokkeerd