Ich habe kürzlich von Ubuntu auf einen Mac umgestellt. Ich war enttäuscht, dass Mac sudo apt-get
in Ubuntu nicht das Praktische hat. Ich habe gehört, dass ich Homebrew verwenden sollte, bin mir aber nicht ganz sicher, was Homebrew oder Macports tun?
238
Antworten:
MacPorts ist der richtige Weg.
Wie @ user475443 gezeigt hat, hat MacPorts viele, viele weitere Pakete. Mit Brew werden Sie bald gefangen sein, weil die Formel, die Sie brauchen, nicht existiert.
MacPorts ist eine native Anwendung: C + TCL. Du brauchst Ruby überhaupt nicht. Um Ruby unter Mac OS X zu installieren, benötigen Sie möglicherweise MacPorts. Verwenden Sie also einfach MacPorts, und Sie werden zufrieden sein.
MacPorts ist wirklich stabil, in 8 Jahren hatte ich nie ein Problem damit und mein gesamtes Unix-Ökosystem wird darauf übertragen.
Wenn Sie ein PHP-Entwickler sind, können Sie die letzte Version von Apache (Mac OS X verwendet 2.2), PHP und alle erforderlichen Erweiterungen installieren und dann alle mit einem Befehl aktualisieren. Vergessen Sie, dasselbe mit Homebrew zu tun.
MacPorts-Selbsthilfegruppen.
Wenn Sie sowohl PHP55 als auch PHP56 installiert haben (mit vielen verschiedenen Erweiterungen), können Sie mit nur einem Befehl zwischen diesen wechseln. Alle relativen Erweiterungen sind Teil der Gruppe und werden innerhalb der ausgewählten Gruppe aktiviert: php55 oder php56. Ich bin nicht sicher, ob Homebrew diese Funktion hat.
Rubisten schreiben gerne alles in Ruby um, denn das einzige, was sie sich wohl fühlen, ist Ruby selbst.
quelle
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.
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 :
Optional können Sie die von macosx bereitgestellten Versionen von Dienstprogrammen mit Homebrew überschreiben.
quelle
/opt/local
Derzeit hat Macports aufgrund seiner Reife viel mehr Pakete (~ 18,6 K) als Homebrew-Formeln (~ 3,1 K). Homebrew holt jedoch langsam auf.
Macport-Pakete werden in der Regel von einer einzelnen Person verwaltet.
Macports kann mehrere Versionen von Paketen behalten, und Sie können sie aktivieren oder deaktivieren, um Dinge zu testen. Manchmal kann diese Liste beschädigt werden und Sie müssen sie manuell bearbeiten, um die Dinge wieder in Ordnung zu bringen, obwohl dies nicht allzu schwierig ist.
Beide Paketmanager werden regelmäßig aktualisiert. Dies kann einige Zeit dauern.
Hinweis: Sie können beide Paketmanager auf Ihrem System haben! Es ist nicht das eine oder andere. Brew könnte sich beschweren, Macports jedoch nicht.
Wenn Sie mit Python- oder Ruby-Paketen arbeiten, verwenden Sie nach Möglichkeit eine virtuelle Umgebung.
quelle
Standardmäßig installiert Homebrew Pakete in Ihrem / usr / local. Für Macport-Befehle muss sudo installiert und aktualisiert werden (ähnlich wie bei apt-get in Ubuntu).
Für mehr Details:
Diese Seite schlägt die Verwendung von Hombrew vor: http://deephill.com/macports-vs-homebrew/
Auf dieser Website werden die Vorteile der Verwendung von Macports aufgeführt: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
Ich habe kürzlich auch von Ubuntu gewechselt und genieße es, Homebrew zu verwenden (es ist einfach und leicht zu bedienen!), Aber wenn Sie sich mit Sudo verbunden fühlen, sind Macports möglicherweise der bessere Weg!
quelle
/usr/local
ohne dass Sudo erforderlich ist?/usr/local
nach Homebrew gegangen . Apple hat sich/usr/local
für "ausführbare Dateien, Bibliotheken usw., die nicht im Basisbetriebssystem enthalten sind" entschieden. Das bedeutet, dass Tools, die vor der Verwendung von Homebrew installiert wurden, möglicherweise so erstellt wurden/usr/local
, dass sie ohne nicht geändert werden könnensudo
. Das diskutieren sie nicht im Wiki./usr/local
ohne Root-Berechtigungen verwenden kann. Die Standardberechtigungen für/usr
eine Neuinstallation von OS X sind Root-Eigentümer ohne Schreibberechtigungen für andere Personen. Um überhaupt zu erstellen/usr/local
, würde Homebrew Root-Zugriff benötigen. (Ich versuche nichts zu verteidigen)homebrew
Sachen , ohne installieren ,sudo
weil , wenn es sich einrichten, es verwendetsudo
die Berechtigung für das Verzeichnis lockerer zu machen , so wird es in der Lage sein , etwas nach innen zu tun ,/usr/local
ohne das Passwort auszulösen. Bedeutet dies, dass der Teil "Installation ohne Passwort" falsch ist? Das glaube ich nicht! Es ist immer noch wahr , dasshomebrew
wird die Lage sein , Sachen ohne das Passwort zu erhalten.