Ich versuche, meine SVN-Version auf OSX 10.11 El Capitan zu aktualisieren. Ich habe die neueste SVN-Version von installiert brew install svn
. Wenn ich tippe svn --version
bekomme ich immer noch die alte Version. Durch viel Lesen verstehe ich, dass ich den symbolischen Link vom alten SVN zum neuen SVN ändern muss, das mit Brew installiert wurde. Dies geschieht, indem die alte symbolische Verknüpfung mit gelöscht sudo rm /usr/bin/svn
und die neue mit erstellt wird sudo ln -s /usr/local/lib/svn /usr/lib/svn
. Das Problem ist, dass der neue "System Integrity Protection" von OS X El Capitan den Zugriff auf das /usr/bin-Verzeichnis blockiert. Ich habe eine einfache Möglichkeit gefunden, SIP zu deaktivieren, aber ich suche nach einer Möglichkeit, dies zu tun, ohne SIP zu deaktivieren. Gibt es eine Möglichkeit, dies zu tun? Was wird die beste Praxis sein?
Anstatt eine geschützte Datei zu ändern, warum ändern Sie nicht Ihren Pfad, sodass das neuere SVN von Ihren Skripten und Benutzern aufgerufen wird?
Das ist die bewährte Methode, da Sie nicht das Betriebssystem, sondern die Umgebung kontrollieren. Zweitbeste wäre, SIP zu deaktivieren und die gewünschte Datei zu überschreiben, dann SIP wieder zu aktivieren. Der Grund, warum es das zweitbeste ist, ist, dass es länger dauert, Sie das Deaktivieren von SIP lernen müssen und das nächste Mal, wenn Apple das Tool patcht, Ihre Arbeit rückgängig gemacht wird.
Das Ändern des Pfads wird nicht rückgängig gemacht, wenn Apple das Betriebssystem aktualisiert. Das gilt auch vor SIP :
Ersetzen Sie in den obigen Beispielen einfach git durch svn.
amitosdev
Fahrrad