Unter CentOS hat man yum, unter Arch Linux hat man pacman und unter Mac? Gibt es dort einen Paketmanager? Nicht vorinstalliert, was wohl auch daran liegen möchte, dass viele die Konsole von Mac gar nicht erst nutzen, obwohl diese in Verbindung mit der guten grafischen Oberfläche echt genial ist. Doch es gibt auch für Mac einen Paketmanager namens Homebrew (auch brew genannt). Wie man Homebrew unter Mac OS X installiert und ein paar Kommandos zur Verwendung werde ich im Folgenden erklären.
Installation
- Zunächst einmal müssen wir Xcode von Apple installieren. Dies können wir über Apple > App Store > Suchen nach “Xcode” > Xcode installieren erledigen.
- Ist Xcode installiert und die Lizenzbedingungen akzeptiert, können wir sogleich Homebrew installieren. Homebrew macht es uns mittels eines, in Ruby geschriebenen, Installer-Scripts einfach.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Das wars schon. Homebrew ist installiert und bereit zur Benutzung!
Struktur
Wo wird nun Software, die mittels Homebrew installiert wird, gespeichert? Brew nutzt ein eigenes Verzeichnis, nämlich standardmäßig /usr/local/Cellar. Die dort gespeicherte Software wird so verlinkt, dass sie ausführbar ist, als wäre sie in den Ordnern in denen die Softwarekomponenten normalerweise wären. Der Vorteil durch diese Zentralisierung ist, dass der Paketmanager, und man selbst natürlich auch, einen guten Überblick über die Software hat.
Allgemein und Hilfe
Brew kann man im Terminal einfach mittels brew
ansprechen. Um eine Übersicht von Kommandos und Paramentern zu erhalten reicht es einfach brew
im Terminal aufzurufen.
Installieren
Möchte man eine Software mittels Brew installieren, nutzt man das Schlüsselwort install. Darauf folgt der Name des zu installierenden Paketes. Möchten wir z.B. wget installieren geht das wie folgt.
brew install wget
Paket suchen
Manchmal kennt man einen Programmnamen, weiß jedoch nicht wie der Paketname lautet. Beispielsweise wollen wir die PHP-Erweiterung GeoIP für PHP 5.4 installieren. Mittels des Keywords search werden alle Pakete die “geoip” enthalten ausgegeben. Dadurch finden wir z.B. das Paket php54-geoip, welches die gewünschte Software enthält.
brew search geoip
Deinstallieren
Ein Programm, das über Brew installiert wurde, wird nicht mehr benötigt? Kein Problem, denn mittels remove können wir ganz simpel das Programm wieder deinstallieren.
brew remove wget
Alte Programmversionen installieren
Unter gewissen Umständen benötigt man nicht die aktuelle Version einer Software, sondern eine etwas ältere Version. Mittels versions kann man alle verfügbaren Versionen auslesen. Bei der Versionsnummer steht immer der Git Checkout Name dabei. Mit diesem können wir vor der Installation zu einer alten Version wechseln. Bei dem Git Checkout lautet der PfadLibrary/Formula/, darauf folgt der Paketname, der mit einem .rb beendet wird. Wie das praktisch aussieht im Folgenden. Wir möchten dabei Version 1.13 des Programms wgetinstallieren.
brew versions wget
1.14 git checkout d9339ac /usr/local/Library/Formula/wget.rb
1.13.4 git checkout 122c0b2 /usr/local/Library/Formula/wget.rb
1.13.3 git checkout d0dfc22 /usr/local/Library/Formula/wget.rb
1.12 git checkout 7553810 /usr/local/Library/Formula/wget.rb
1.13 git checkout 4d39ab4 /usr/local/Library/Formula/wget.rb
1.11.4 git checkout a82e823 /usr/local/Library/Formula/wget.rb
Auszuführen:
cd `brew --prefix`
git checkout 4d39ab4 Library/Formula/wget.rb
brew install wget
Aktualisieren
Hat man einige Programme installiert, möchte man diese natürlich auch aktuell halten. Mittels des folgenden Kommandos aktualisiert sich Brew zunächst selbst und anschließend alle durch Brew installieren Programme.
brew update; brew list | xargs brew upgrade
Dies waren alle Standardanwendungsfälle auf die ich in meinem Alltag stoße. Damit ist ein komfortabler Paketmanager auf dem Mac installiert und das einfache Installieren über den Terminal kann beginnen.
Moin Michael!
Danke fuer deinen Vorschlag. Ich moechte dir eine ‚verbesserte‘ Version vorschlagen, die ich persoenlich nutze.
brew update && brew upgrade && brew upgrade –cask && brew cleanup
Beste Gruesse
Hallo Mahmut
Danke für den Tipp, würde den ganzen Befehl jetzt noch in einen Alias verfrachten damit es noch etwas einfacher wird.
Grüsse
Michael