Ich verwende Lion und das svn /usr/bin/svn ist die Version 1.6. Da ich Subversion 1.7 verwenden muss, habe ich svn von Brew installiert, um es in /usr/local/bin/svn zu installieren.
Wie kann ich die svn*-Dateien deaktivieren, damit ich svn von Brew verwenden kann?
Es gibt eine bessere und sicherere Möglichkeit, anzugeben, welche Version einer ausführbaren Datei Ihr Computer verwenden soll, ohne die auf Ihrem Mac vorinstallierten ausführbaren Dateien ändern zu müssen. Es wird im Allgemeinen nicht empfohlen, Ihre Standard-Systemtools in irgendeiner Weise zu ändern.
Sie können die Umgebungsvariable PATH nutzen , mit der Sie mehrere Verzeichnisse auflisten können, in denen Ihr Mac suchen soll, wenn er nach ausführbaren Dateien sucht.
Um die neueste Version von svn oder eines anderen Tools zu verwenden, das Sie /usr/local/bin
mit Homebrew (oder MacPorts, manuell usw.) installiert haben, möchten Sie Ihrem Mac mitteilen, dass er zuerst nachsehen soll, /usr/local/bin
bevor er in der Standardeinstellung /usr/bin
. Dazu definieren Sie die PATH
in Ihrer .bash_profile
, einer Datei, die jedes Mal automatisch geladen wird, wenn Sie ein neues Terminalfenster öffnen.
Sie können den PATH in Ihr .bash_profile schreiben, indem Sie diesen Einzeiler vom Terminal aus ausführen:
echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile
Dieser Befehl nimmt alles zwischen den einfachen Anführungszeichen ( echo
) und fügt es (>>)
einer Datei namens .bash_profile
im Stammverzeichnis (oder Home-Verzeichnis) Ihres Benutzers hinzu (~/)
.
Damit diese Änderungen wirksam werden, können Sie Terminal entweder beenden und neu starten oder diesen Befehl ausführen:
source ~/.bash_profile
Wenn Sie alles manuell erledigen möchten, öffnen Sie Ihren .bash_profile
mit Ihrem bevorzugten Editor und fügen Sie dann diese Zeile hinzu:
PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
und speichern Sie es. Beenden Sie dann das Terminal und starten Sie es neu.
/usr/local/bin
steht vor /usr/bin
und ich bekomme immer noch letzteres, wenn ich es ausführe svn
. Wie ist das möglich?HINWEIS : Die Antwort von monfresh unten ist besser als meine. Meine Methode funktioniert zwar, es wird jedoch nicht empfohlen, Systemdienstprogramme umzubenennen oder zu bearbeiten.
Als ich von SVN 1.6 auf 1.7 upgraden musste, installierte ich meine gebaute Version (ohne Homebrew oder Macports usw.) in /usr/local/bin
und benannte alle alten ausführbaren SVN-Dateien in /usr/bin
(executablename)-1.6.7 um.
Also gibts jetzt which svn
und /usr/local/bin/svn
das alte /usr/bin/svn
ist /usr/bin/svn-1.6.17
.
/usr/bin
nur um sie aus dem Weg zu räumen, sind Sie offen für Upgrades, die sie wiederherstellen, oder für den Bruch von Programmen, die von ihnen abhängen. Warum setzen Sie nicht einfach /usr/local/bin
zuerst in Ihre PATH
?
mmmmmm