Standardmäßig /usr/libexec/path_helper
fügt OS X 10.6 die folgenden in der Datei aufgeführten Pfade hinzu /etc/paths
:
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
Das heißt, das /usr/bin
kommt vorher /usr/local/bin
auf den Weg. Dies führt in der Version von git von Xcode 4 installierte in /usr/bin
dem statt der von Homebrew in installierte Version aufgerufen werden /usr/local/bin
.
Was mich zu meiner Frage führt, gibt es ein Problem damit, /usr/local/bin
vorher /usr/bin
auf dem Weg gekommen zu sein? Gibt es einen bestimmten Grund, warum Apple standardmäßig vorher /usr/bin
gekommen ist /usr/local/bin
?
So ändern Sie die Reihenfolge von /usr/bin
und/usr/local/bin
Ist es ein Problem, /usr/local/bin
vom unteren Rand der Datei /etc/paths
nach oben zu wechseln ? Dies würde sich nicht nur auf den Pfad auswirken, wenn ich Terminal starte, da /usr/libexec/path_helper
dies von anderen Ressourcen verwendet werden könnte (da bin ich mir nicht sicher).
Obwohl redundant, erscheint es mir sicherer /usr/local/bin
, den Pfad in hinzuzufügen ~/.bash_profile
, was bedeuten würde, dass er /usr/local/bin
zweimal auf dem Pfad ist.
/etc/paths
Datei gibt oder ich sie einfach/usr/local/bin
zu meiner hinzufügen sollte~/.bash_profile
?Ich hatte Probleme mit dem gleichen Problem und fand den Link unten vom Googeln.
https://discussions.apple.com/thread/3588837?start=0&tstart=0
Sie sagten, dass das Ändern von / etc / path aus Sicherheitsgründen keine gute Idee sei.
quelle
Ich fand all das nützlich, besonders die Warnung von @Ohgyun Ahn . Also schlage ich einen Kompromiss vor, den ich gerade umgesetzt habe:
Bearbeiten Sie
/etc/paths
oder/private/etc/paths
(wie in OS X 10.8) und überschreiben Sie git alleine . Dies entgeht jeglichen Sicherheitsauswirkungen (jedenfalls ohne Bezug zu Git), während das aktuelle Git für alle Programme implementiert wird, die den systemweiten Pfad tatsächlich überprüfen./usr/local/git-override/
/usr/local/bin
./usr/local/git-override
Zum Seitenanfang(/private)/etc/paths
.Hoffe, das ist hilfreich für jemand anderen.
quelle
Ich möchte nur hinzufügen, dass Sie, wenn Sie Ihren PATH sauber halten möchten (keine doppelten Einträge), Ihrem .bash_profile Folgendes hinzufügen können, um den gewünschten Effekt zu erzielen:
Ich habe diesen kleinen Trick von http://ntk.me/2013/05/04/path-environment-variable/ gelernt.
Edit: Sehr wichtig! Erhalten Sie nicht die Reihenfolge, dass diese falsch entfernt werden! Wenn Sie dies tun,
sed
wird es nicht funktionieren und Sie werden/usr/local/bin:/usr/bin:
als PFAD zurückbleiben!Es ist auch erwähnenswert, dass die anderen, die darauf hinweisen, dass dies einige Sicherheitsprobleme verursachen könnte, korrekt sind. Bitte verstehen Sie die damit verbundenen Risiken!
quelle
Da die Reihenfolge der
/etc/paths
Nähte geändert wurde , um die Systemstabilität und -sicherheit zu gewährleisten, ist hier meine Lösung, die auf der Antwort von @vmrob basiertquelle