Homebrew (Paketverwaltung)
# Homebrew (Paketverwaltung)

Homebrew ist eine freie/quelloffene Paketverwaltung, die die Installation von Software auf den Betriebssystemen macOS und Linux vereinfacht. Die Paketverwaltung wurde ursprünglich von Max Howell geschrieben. Sie erlangte starke Verbreitung in der Ruby-on-Rails-Szene und wurde für ihre Erweiterbarkeit gelobt.

Zur Unterstützung weiterer Pakete durch Beiträge anderer Nutzer wird GitHub verwendet. Die Plattform dient auch für Diskussionen in der Community und ersetzt somit die früher eingesetzte Mailingliste und das separate Webforum. So hatte das Projekt 2012 die größte Zahl an neuen Mitwirkenden und 2013 sowohl die meisten Mitwirkenden als auch die meisten geschlossenen Tickets.

Seit Oktober 2016 steht mit Linuxbrew eine erste stabile Version eines Homebrew-Forks für Linux bereit. Linuxbrew wurde im Januar 2019 fester Bestandteil von Homebrew. Ab Version 1.9.0 unterstützt Homebrew im Rahmen einer Testphase neben macOS nun auch Linux und das Windows Subsystem for Linux.

## Implementation

Homebrew ist in der Programmiersprache Ruby geschrieben und benötigt die Kommandozeilen-Tools von Apples Entwicklungsumgebung Xcode, die mit dem Terminalbefehl xcode-select --install installiert werden. Während der Installation als git-Repository werden unterhalb von/opt/homebrew (auf älteren Systemen bis einschließlich macOS Big Sur: /usr/local) einige Ordner für Homebrew selbst und für die Softwarepakete angelegt, wodurch ermöglicht wird, Homebrew auf die gleiche Weise zu aktualisieren wie installierte Pakete. Die gesamte Installation kann über ein bereitgestelltes Skript leicht durchgeführt werden.

Während zu Beginn alle Pakete neu aus dem Quellcode kompiliert wurden, werden mittlerweile standardmäßig fertige Binärdateien, bei Homebrew „Bottles“ genannt, installiert. Dadurch wird die Installation wesentlich beschleunigt. Die Kompilierung der Pakete ist weiterhin möglich, muss aber bei jeder Installation und bei jedem Update ausdrücklich vorgegeben werden. Homebrew nennt ein Paket während des Installationsprozesses „Formula“, also Formel oder Braurezept: ein Ruby-Skript, das in Homebrews DSL beschrieben wurde, um Abhängigkeiten zu verwalten, Quelldateien herunterzuladen und die Software zu konfigurieren und kompilieren.

Während die Paketverwaltungen Fink und MacPorts beim Installieren von Paketen ausschließlich via sudo arbeiten, benötigen Homebrew-Anwender dafür keine Administratorrechte. Außerdem greift Homebrew so weit wie möglich auf Programme und Dienste zurück, die bereits auf dem System vorhanden sind, was Ressourcen schont.

