Ich bin etwas verwirrt über die Installation von Standard-Unix-Paketen unter Mac OS X. Zum Beispiel habe ich / usr / bin / svn, SVN v.1.4.4, aber FinkCommander sagt, dass svn nicht installiert ist. Das gleiche gilt für andere Pakete wie Emacs usw.
Ist das nur eine falsche FinkCommander Einstellung? Derzeit ist es so eingestellt, dass alles installiert wird /sw
, was noch nicht einmal in der ist PATH
. Muss ich es nur so einstellen, dass es Pakete installiert /usr
und die installierte Software erkennt? Ich möchte nicht von allem doppelte Pakete installieren, und es ist ziemlich seltsam, dass der FinkCommander nicht mit der installierten Software synchron zu sein scheint.
Oder gibt es ein anderes Installationsprogramm, das ich verwenden sollte? Ist Mac Ports das empfohlene Installationsprogramm?
(Ich verwende Mac OS 10.5.8.)
Antworten:
Es gibt keinen offiziellen Paketmanager für OS X.
Fink , MacPorts und Homebrew bieten unterschiedliche Funktionen, um diese Lücke zu schließen.
Viele Benutzer haben darauf hingewiesen:
quelle
Obwohl es keinen offiziellen Unix / FOSS-Paketmanager für Mac OS X gibt, sollte beachtet werden, dass MacPorts von den Mac OS X / Darwin-Ingenieuren von Apple erstellt wurde und weiterhin hauptsächlich gewartet wird. Die macports.org-Website wird im Rahmen von Apples Projekt "MacOSForge.com" auf Apples Servern gehostet. Da Mac OS X / Darwin * BSD-basiert ist, stammen viele der Unix-Layer-Software-Ingenieure von Apple aus der * BSD-Tradition, weshalb sie MacPorts nach dem Modell der * BSD-"Ports" modellierten.
Fink war der ursprüngliche Open-Source-Paketmanager für Mac OS X, hat jedoch keine enge organisatorische Bindung zu Apple und entschied sich dafür, der Tradition von Debian Linux apt-get zu folgen.
Ich bin mir nicht sicher, ob die oben genannten Details ausreichen, um sie übereinander zu empfehlen. Ich würde sagen, es kommt darauf an, welches Modell Sie bereits besser kennen. Wenn Sie mit apt-get besser vertraut sind, entscheiden Sie sich für Fink. Wenn Sie mit BSD-"Ports" besser vertraut sind, sollten Sie sich für MacPorts entscheiden.
Wie bereits erwähnt, sollten Sie die Standard-Unix-Tools von Mac OS X nicht verwenden. Fink und MacPorts haben diese Lektion bereits gelernt und installieren ihre eigenen Kopien von Dingen in ihren eigenen Verzeichnishierarchien (/ sw für Fink, / opt für MacPorts). Homebrew hat diese Lektion noch nicht vollständig gelernt, aber sie wird, sobald einige Benutzer Homebrew verwenden, um die eingebaute Kopie von beispielsweise Perl oder Python zu aktualisieren, und es gibt ein unvorhergesehenes Kompatibilitätsproblem, das eingebaute Mac-Teile zerstört OS X, z. B. Installationspakete (Mac OS X .pkg-Bundle-Dateien), die Perl-Skripts verwenden, um einige der Installationsaufgaben auszuführen.
quelle
Es gibt keinen offiziellen Paketmanager für OS X.
Fink sagt wahrscheinlich, dass es nicht installiert ist, weil es nicht im Fink-Pfad installiert ist. Ich hatte Probleme, wenn ich etwas von Fink oder MacPorts installierte oder Kopien mit unterschiedlichen Versionsnummern duplizierte.
Wählen Sie eine und bleiben Sie dabei. Wenn Sie der Meinung sind, dass Sie Änderungen vornehmen müssen, sollten Sie den anderen Paketmanager löschen und ihn neu installieren.
quelle
Die Version von svn, die Sie sehen, wurde mit Mac OS X geliefert - nicht von Fink oder einer anderen Quelle.
Sie können verschiedene Versionen mit dem
type
Befehl bash identifizieren . Zum Beispiel verwende ich MacPorts und installiere eine neuere Version von sqlite3:Die Version in / opt / local / bin stammt von MacPorts, die Version in / usr / bin von Mac OS X.
Ich empfehle, dass Sie keine Fink- oder MacPorts-Binärdateien in / usr installieren - lassen Sie diese in Ruhe. Lassen Sie Fink in / sw oder MacPorts in / opt / local installieren. Passen Sie Ihren
PATH
an, um die Fink / MacPorts-Versionen vor den Standardversionen zu findenquelle
which -a sqlite3
Eine andere Option, die weniger Beachtung findet als Homebrew , MacPorts oder Fink, ist Rudix .
quelle