Ist es möglich und wie bekomme ich eine Liste aller auf meinem Mac installierten Pakete mit Homebrew? Ich bin nicht an Paketen interessiert, die außerhalb von Homebrew installiert wurden.
Ist es möglich und wie bekomme ich eine Liste aller auf meinem Mac installierten Pakete mit Homebrew? Ich bin nicht an Paketen interessiert, die außerhalb von Homebrew installiert wurden.
Antworten:
brew list und brew cask listBeim Ausführen brew listwird eine Liste aller installierten Homebrew-Pakete angezeigt.
Darüber hinaus brew cask listwerden die Elemente bereitgestellt, die mit Homebrew Cask installiert wurden .

xargs brew install < list.txtFühlen Sie sich frei, eine separate Frage zu stellen, um weitere Details oder Erläuterungen zu erhalten.
brew install $(< list.txt )
brew leaveszeigt Ihnen alle Top-Level-Pakete. Das sind Pakete, die keine Abhängigkeiten sind. Dies sollte am interessantesten sein, wenn Sie die Liste zum erneuten Installieren von Paketen verwenden.
leaves.
javaist nicht in aufgeführt, leavesda es sich um eine Abhängigkeit von einem anderen Projekt handelt, obwohl ich es selbst installiert habe.
brew bundleDies kann auch interessant sein, wenn Sie Fragen haben, weil Sie Ihre Brauanlage verwalten möchten. Dies schließt auch Fässer ein, die brew listdies nicht tun . Es zielt darauf ab, reproduzierbare Homebrew-Setups zu haben.
# creates Brewfile in the current directory from currently-installed packages
brew bundle dump
# edit Brewfile
# install everything from the Brewfile
brew bundle
Sie können das --globalFlag verwenden, um auf Ihre zuzugreifen ~/Brewfileund -fdas Überschreiben Ihrer vorhandenen Datei zu erzwingen (bei der Installation wird dadurch die Deinstallation nicht aufgelisteter Pakete erzwungen).
brew leavesund ließ die Pakete weg, die du nicht direkt installiert hast, sondern nur als Abhängigkeiten. In Zukunft kann ein Paket Abhängigkeiten ändern, aber Sie werden es trotzdem installieren und brauchen es nicht.
bundleAbhängigkeiten nun ausgeschlossen sind. Es gibt einige andere Änderungen, wie Anführungszeichen und Reihenfolge, die das Verständnis des Unterschieds erschweren, aber insgesamt sieht es so aus, als ob zumindest einige Bibliotheken fehlen, Brewfileaber installiert sind.
Executing brew listCommand zeigt eine einfache, alphabetisch sortierte Liste aller installierten Pakete.
Verschiedene erforderliche Pakete (Abhängigkeiten) werden jedoch automatisch installiert, wenn ein Paket mit Homebrew installiert wird. Es ist möglich, die Liste aller installierten Pakete als schön formatierten Abhängigkeitsbaum anzuzeigen. Führen Sie zum Anzeigen den folgenden Befehl aus:
brew deps --tree --installed
Eine Beispielausgabe ist wie folgt:
gdbm
openssl
python
├── gdbm
├── openssl
├── readline
├── sqlite
│ └── readline
└── xz
readline
sqlite
└── readline
xz
Die unabhängig aufgeführten Pakete (z. B. gdbmund opensslin der obigen Beispielausgabe) haben keine Abhängigkeiten. Bei den als Teil einer Baumstruktur dargestellten Paketen ist die Abhängigkeit auf einer unmittelbar niedrigeren Ebene aufgeführt (z. B. sqliteerfordert das Paket readline, dass das Paket installiert wird). Die an Blattknoten in den Baumstrukturen aufgelisteten Pakete haben keine Abhängigkeiten.
Abhängigkeiten, die in einer Baumstruktur dargestellt werden, können dazu beitragen, unnötige Pakete einfach zu entfernen.
brew leavesoben erwähnte Befehl ist in dieser Hinsicht nützlich; Es werden nur die Pakete der obersten Ebene aufgelistet.
Sie können verwenden brew list | grep 'package-name'oder wenn Sie nach einem bestimmten Paket suchen.
brew list 'package-name'funktioniert auch und bietet zusätzliche Informationen.
brew install < list.txtscheint nicht zu funktionieren.