Homebrew-Tutorial: Verwendung von Homebrew für MacOS

Am Anfang war die Kommandozeile. Das gilt für fast alle Betriebssysteme, aber irgendwo auf dem Weg wurde eine grafische Benutzeroberfläche zum „Gesicht“ des Computers, und nur alte Hacker oder Initiierte wussten sogar, wie man eine Befehlszeilenkonsole oder ein Terminal öffnet.

Viele Mac-Benutzer können wunderbar verwalten, ohne jemals die Terminal-App zu öffnen, geschweige denn Befehle in die Bash-Shell eingeben. Wenn Sie Ihren Tag damit verbringen, Standbilder mit Lightroom zu bearbeiten, hat die MacOS-Befehlszeile wahrscheinlich wenig Nutzen für Sie.

Mehr technische Benutzer und insbesondere Softwareentwickler müssen zumindest gelegentlich, wenn nicht sogar täglich, in der Shell arbeiten. Technische Benutzer mit Unix- oder Linux-Hintergrund werden feststellen, dass nicht alle üblichen Dienstprogramme in MacOS ab Werk installiert sind, obwohl MacOS im Kern ein BSD-Unix-System ist.

Als Softwareentwickler und Softwareprüfer stoße ich häufig auf dieses Problem. Als es das erste Mal passierte, befolgte ich Online-Installationsanweisungen, die angeblich auf Linux und Linux-ähnlichen Systemen (wie Mac OS X, wie es damals bekannt war) funktionieren sollten, aber tatsächlich nur auf einer oder zwei Distributionen von getestet wurden Linux. Der bereitgestellte Installationsbefehl basierte auf wgeteinem Dienstprogramm zum nicht interaktiven Herunterladen von Dateien aus dem Web.

Leider für mich, wgetkommt nicht auf einem Mac installiert, obwohl das etwas ähnliche curlDienstprogramm tut. Das Übersetzen von wgetOptionen in curlOptionen war ein nerviger zusätzlicher Schritt, den ich nicht brauchte. Das Fehlen rekursiver Downloads curlwar ein vollständiger Showstopper für das Herunterladen der HTML-Dokumentation.

Apple verfügt über keine offiziellen Mechanismen zum Hinzufügen neuer Befehlszeilenprogramme. Was es für einen Paketmanager gibt, ist der App Store, aber das gilt nur für Anwendungen (Apps). Als ich im Internet nach "wget ​​not found mac" suchte, stellte ich schnell fest, dass es verschiedene Möglichkeiten gab, mein Problem zu lösen, einschließlich des Erstellens wgetaus dem Quellcode. Von diesen wurde Homebrew am häufigsten empfohlen.

Was ist Homebrew?

Homebrew nennt sich " Der fehlende Paketmanager für MacOS" (Schwerpunkt Mine). Das ist kernig, aber ein bisschen unbekümmert. Homebrew ist sicherlich ein Paketmanager für MacOS, aber es gibt auch andere wie MacPorts und Fink. Und im Übrigen ist der App Store ein Paketmanager, obwohl er auf App Store-Apps spezialisiert ist. Trotzdem ist Homebrew der beliebteste Paketmanager von Drittanbietern für MacOS und bietet Funktionen, die im App Store fehlen.

Mit Homebrew ( brew) können Sie Tausende von „Formeln“ (dh Paketdefinitionen) aus dem öffentlichen Kernrepository sowie alle von Ihnen verwendeten Tap- Repositorys installieren, deinstallieren und aktualisieren . Sie können die Homebrew- Fassfunktion ( brew-cask) auch verwenden , um vorkompilierte MacOS-Binärdateien (z. B. Apps, aber keine App Store-Apps) über die Befehlszeile zu installieren, zu deinstallieren und zu aktualisieren. Wenn Sie möchten, können Sie Ihre eigenen Homebrew-Pakete erstellen und Ihre eigenen Homebrew-Formeln schreiben.

Installieren Sie Homebrew

Da Homebrew selbst nur für MacOS ist, enthält es relativ einfache Installationsanweisungen - zumindest, wenn Ihre Betriebssystemversion aktueller als OS X Lion 10.7 ist. Homebrew führt im Grunde nur ein Ruby-Skript aus, nachdem es von GitHub heruntergeladen wurde. Sie werden im folgenden Screenshot feststellen, dass Homebrew aus Gründen, die ich zuvor besprochen habe curl, nicht für den Download verwendet wget.

Homebrew beschränkt sich auch auf Ruby-Code, der von der Ruby-Version unterstützt wird, die mit der ältesten unterstützten OS X-Version 10.5 Leopard geliefert wird.

/ usr / bin / ruby ​​-e "$ (curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install)"

Möglicherweise werden Sie bei der Homebrew-Installation aufgefordert, Xcode oder die Befehlszeilentools für Xcode zu installieren. Ob dies der Fall ist und was es vorschlägt, hängt von Ihrer Betriebssystemversion und den auf Ihrem System installierten Versionen der C- und C ++ - Compiler ab.

Laut der Homebrew-Installationsseite müssen Sie dem Befehl das --insecureArgument hinzufügen (oder gleichwertig -kdie vollständige Argumentliste erstellen -fsSLk) , wenn Sie eine ältere Version von Mac OS X (Lion 10.7 oder früher) haben curl. Dies liegt daran, dass die Version von curlauf Ihrem System über HTTPS nicht erfolgreich mit GitHub kommuniziert. Homebrew wird das beheben, wenn Sie es installieren und es dann bitten, sich selbst und seine Abhängigkeiten mit zu aktualisieren brew update.

Wenn Sie das Installationsskript herunterladen und lesen, sehen Sie, dass es eine Logik zum Abbrechen enthält, wenn die Mac OS X-Version weniger als 10.5 ist. Wenn dies ausgelöst wird, verweist das Skript auf TigerBrew, eine experimentelle Abzweigung von Homebrew, die Unterstützung für PowerPC-Macs und Macs mit Tiger bietet.

Es gibt auch eine Warnung "Wir unterstützen diese Version nicht", die für zu alte oder zu neue MacOS-Versionen ausgelöst wird, die derzeit auf 10.11 und 10.13 eingestellt sind. Das bedeutet nicht, dass Homebrew bei diesen Versionen nicht funktioniert . Es bedeutet meistens, dass die Entwickler nicht gegen sie testen.

Verwenden Sie Homebrew, um ein Paket zu installieren

Versuchen wir als grundlegendes Beispiel die Installation wgetmit Homebrew. Starten Sie zunächst Terminal.

Der Installationsbefehl ist wie in der Abbildung oben aufgeführt : brew install wget. Auf meiner Maschine wurde die ziemlich lange Ausgabe unten erzeugt. Beachten Sie, dass die Installation mit einem automatischen Update von Homebrew begann, dann die wgetAbhängigkeiten installierte und schließlich installiert wurde wget.