/usr/bin/svn deaktivieren, um brew installed svn zu verwenden

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?

Antworten (2)

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/binmit Homebrew (oder MacPorts, manuell usw.) installiert haben, möchten Sie Ihrem Mac mitteilen, dass er zuerst nachsehen soll, /usr/local/binbevor er in der Standardeinstellung /usr/bin. Dazu definieren Sie die PATHin 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_profileim 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_profilemit 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.

Ich stimme zu; Das ist besser als meine Antwort. Ich habe meine Antwort bearbeitet, um diese Präferenz zu zeigen.
Ist das aber hartnäckig? Bleibt es nach dem Systemneustart hängen.
In meinem PATH /usr/local/binsteht vor /usr/binund 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/binund benannte alle alten ausführbaren SVN-Dateien in /usr/bin(executablename)-1.6.7 um.

Also gibts jetzt which svnund /usr/local/bin/svndas alte /usr/bin/svnist /usr/bin/svn-1.6.17.

Wenn Sie Dateien umbenennen, /usr/binnur 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/binzuerst in Ihre PATH?