Homebrew und Macports lösen beide das gleiche Problem - das ist die Installation allgemeiner Bibliotheken und Dienstprogramme, die nicht mit osx gebündelt sind.
In der Regel handelt es sich dabei um entwicklungsbezogene Bibliotheken. Diese Tools werden am häufigsten von Entwicklern verwendet, die an osx arbeiten.
Für beide müssen die xcode-Befehlszeilentools installiert sein (die Sie separat von https://developer.apple.com/ herunterladen können ), und für einige bestimmte Pakete muss die gesamte xcode-IDE installiert sein.
xcode kann aus dem Mac App Store installiert werden. Es ist ein kostenloser Download, aber es dauert eine Weile, da es ungefähr 5 GB groß ist (wenn ich mich richtig erinnere).
macports ist eine osx-Version des Port-Dienstprogramms von BSD (da osx von BSD abgeleitet ist, war dies eine natürliche Wahl). Für alle, die mit einer der BSD-Distributionen vertraut sind, werden sich Macports wie zu Hause fühlen.
Ein wesentlicher Unterschied zwischen Homebrew und Macports; und der Grund, warum ich Homebrew bevorzuge, ist, dass es keine Dinge überschreibt, die "nativ" in osx installiert werden sollten. Dies bedeutet, dass Homebrew Sie benachrichtigt, wenn ein natives Paket verfügbar ist, anstatt es zu überschreiben und später Probleme zu verursachen. Es installiert auch Bibliotheken im Benutzerbereich (daher müssen Sie nicht "sudo" verwenden, um Dinge zu installieren). Dies hilft auch beim Entfernen von Bibliotheken, da sich alles auf einem Pfad befindet, auf den Sie zugreifen können.
Homebrew genießt auch eine aktivere Benutzergemeinschaft und seine Pakete (Formeln genannt) werden ziemlich oft aktualisiert.
macports überschreibt keine nativen OSX-Pakete - es wird eine eigene Version bereitgestellt. Dies ist der Hauptgrund, warum ich Macports dem Selbstbrauen vorziehe. Sie müssen sicher sein, was Sie verwenden, und Apple ändert zu unterschiedlichen Zeiten die Ports und ist bekannt Jahre hinter Updates in einigen Projekten zu sein
Können Sie eine Referenz angeben, aus der hervorgeht, dass Macports native OS X-Pakete überschreibt? Soweit ich das beurteilen kann, erfolgt die Installation aller Macports in
/opt/local
Vielleicht sollte ich das klarstellen - ich habe in meiner Antwort nirgends gesagt, dass Macports native OSX-Pakete überschreibt. Beide installieren Elemente separat.
Homebrew warnt Sie, wenn Sie die Dinge "nativ" installieren sollten (unter Verwendung des bevorzugten Installationsprogramms der Bibliothek / des Tools), um die Kompatibilität zu verbessern. Das habe ich gemeint. Es werden auch so viele lokale Bibliotheken verwendet, die in OS X verfügbar sind. Aus dem Wiki :
Wir mögen keine Dupes in Homebrew / Homebrew
Wir mögen jedoch Dupes im Wasserhahn!
Dinge, die mit OS X geliefert werden oder eine Bibliothek sind, die von RubyGems, CPAN oder PyPi bereitgestellt wird, sollten nicht getäuscht werden. Dafür gibt es gute Gründe:
- Doppelte Bibliotheken unterbrechen regelmäßig Builds
- Subtile Fehler treten bei doppelten Bibliotheken und in geringerem Maße bei doppelten Tools auf
- Wir möchten, dass Sie sich mehr Mühe geben, damit Ihre Formel mit OS X funktioniert
Optional können Sie die von macosx bereitgestellten Versionen von Dienstprogrammen mit Homebrew überschreiben.