Verwenden von MacPorts zur Installation in einem anderen Verzeichnis als / opt / local / bin

4516
Chealion

Ich habe ein Problem mit der Konsistenz zwischen meinen Maschinen, da ich den Befehlspfad für einige Elemente wie Image Magick explizit angeben muss. Port installiert sie nach / opt / local / bin, aber aus Gründen der Konsistenz möchte ich sie nach / usr / local / bin installieren. Wie kann ich das angeben?

3

3 Antworten auf die Frage

8
Stu Thompson

Fügen /opt/local/binSie einfach Ihren Weg hinzu, wie wir alle. Sie können das in tun~/.profile

Versuchen, es zu zwingen /usr/local/bin

  • ist eine unnötige Anstrengung
  • Das Risiko von ausführbaren oder Bibliothekskollisionen mit dem Bösen und möglicherweise katastrophalen Auswirkungen
Wie gesagt, obwohl ich den Befehlspfad explizit im Anwendungscode angeben muss. Wir haben mehr als eine Entwicklungsmaschine, einige haben sie von source (/ usr / local / bin) und andere von Mac Ports (/ opt / local / bin) installiert. vor 14 Jahren 0
Verwenden Sie entweder MacPorts oder nicht: In beiden Fällen sollten Sie / usr vermeiden Jeremy L vor 14 Jahren 2
zB ln -s / opt / local / bin / convert / usr / local / bin / convert fideli vor 14 Jahren 1
5
Mark

Macports mag es wirklich nicht, in / usr / local zu sein. Von MacPorts Faq

/ opt / local wurde ausgewählt, um zu vermeiden, dass auf anderen verschiedenen Installationen gestampft wird (z. B. verwendet fink / sw dasselbe); / usr / local ist aus mehreren Gründen keine praktikable Wahl:

  1. Einige Softwareprogramme (insbesondere Auto-Tools von Gnu) sehen in / usr / local als Standardspeicherort aus, was bedeutet, dass MacPorts bei Bedarf nicht einfach isoliert werden können
  2. / usr / local ist normalerweise für den Administrator des jeweiligen Systems für die Installation lokaler Elemente in diesem System reserviert und ist in der Regel eine schlechte Wahl, wenn er von einem systemfremden System übernommen wurde
  3. gcc betrachtet / usr / local als ein Standardsystemverzeichnis, wodurch (zumindest) das Include-Verzeichnis nicht zu früh in der Liste der Include-Verzeichnisse erscheint und daher die von MacPorts installierten Elemente für Elemente, für die es schwierig ist, ordnungsgemäß verwendet werden brauche sie (wo eine andere Version woanders installiert wird, wie / usr / X11R6)

Wenn Sie Installationen aus verschiedenen Quellen haben, sind Sie sich sicher, dass sie exakt dieselbe Version haben. Wenn dies nicht der Fall ist, werden Probleme mit dem Build und der Laufzeit auftreten.

Wenn Sie nach all dem immer noch versuchen wollen, diese nicht unterstützte Methode zu verwenden, und Sie können den Pfad nicht verwenden, um Dinge zu finden, vermute ich, dass es einfacher wäre, Ihren Code in / opt / local / bin und dann in / us / local / bin zu suchen wähle das, was es findet (auch was passiert, wenn beide da sind)

Diese Gründe scheinen alle darauf hinauszugehen, dass Sie neben MacPorts möglicherweise ein anderes Paketsystem verwenden (oder von der Quelle installieren). Es ist eine Schande, dass es keine unterstützte Lösung für Benutzer gibt, die MacPorts verwenden möchten, um alle ihre Pakete zu verwalten und an Standardspeicherorten zu behalten. Jesse McGrew vor 10 Jahren 0
@JesseMcGrew Was meinen Sie mit Standardstandort? Jedes Verzeichnis kann in Unix verwendet werden, es muss sich lediglich im Pfad befinden. z. B. / opt ist der Standardstandort von Solaris für Installationen von Drittanbietern Mark vor 10 Jahren 0
Ich meine den erwarteten Standort, denke ich. Das Vorhandensein von Fragen wie dieser und des MacPorts-FAQ-Eintrags legt nahe, dass viele Benutzer und Softwarepakete erwarten, dass Programme unter / usr oder / usr / local installiert werden. Wenn MacPorts der einzige verwendete Paketmanager ist, kann die Neukonfiguration einfacher sein MacPorts als alles neu zu trainieren / neu zu konfigurieren. Jesse McGrew vor 10 Jahren 0
@JesseMcGrew Sie können Macports so einrichten, dass ein anderes Verzeichnis verwendet wird, und dann können Sie debuggen :( Ich entschied mich für Macports, weil es sich in einem anderen Verzeichnis befand, nachdem es mehr als 10 Jahre mit Unix gearbeitet hatte und die gleichen Kommentare gemacht hatten. Mark vor 10 Jahren 0
2
dertoni

Wenn Sie wissen, was Sie tun, können Sie Folgendes tun:

Mac-Ports von der Quelle installieren .

Sie sollten die Verwendung von / usr unbedingt vermeiden, wie von Mark angegeben. Jeremy L vor 14 Jahren 1