
我在 Mac 上工作,最近更新了 Xcode,在此更新中,它安裝了最新版本subversion 1.9.x
作為核心安裝。這很好,但在工作中我們使用的1.8.x
這個新版本是不相容的。
理想情況下,我想將核心顛覆改回 1.8.x,但我不清楚如何進行/usr/local/opt/subversion
。
這對我的 IDE 來說很好,因為我可以指向 ./bin 資料夾。但是,如果我想在終端中工作(我經常這樣做),則版本是 1.9.x。
作為解決方法,我在 my 中建立了一個別名,./bash_profile
如下所示 。alias svn=/usr/local/opt/[email protected]/bin/svn
現在,當我打開終端並運行時,svn --version
我得到以下內容。
svn, version 1.8.16 (r1740329) compiled Apr 2 2017, 22:11:27 on x86_64-apple-darwin15.6.0
這是完美的,但我覺得我錯過了一些東西,還有我不時使用的其他二進位文件,我討厭給它們起別名。感覺應該有更好的方法,但我不太有信心在根級別上移動事情。
是否可以重新指派 subversion 的工作版本。也許類似的東西use svn --path ....
。
答案1
在編輯時,附加$PATH
環境變數是設定您想要使用的二進位檔案的優先順序的選項。這可能不是完全必要的。
當您svn up
在具有不匹配的子版本的工作副本中從終端運行時,您將收到以下訊息。
svn: E155036: Please see the 'svn upgrade' command
過去盲目運行命令的經驗讓我感到緊張,但在調查了一些同事的機器後,很明顯,不相容的是工作副本而不是 VCS 伺服器。
要解決不匹配問題,您只需運行svn upgrade
.之後您將能夠運行svn up
並且更新應該不會出現問題。
如果一切都失敗了,您仍然可以svn
透過在環境變數中設定 subversion 資料夾的路徑來強制使用特定版本的二進位$PATH
。
例如export PATH=/usr/local/opt/[email protected]/bin:/usr/bin:/bin:$PATH
我之前沒有真正花時間去理解的是,它$PATH
包含您希望從命令列訪問的任何二進位檔案的位置。您選擇的二進位檔案越靠近字串的前面,就決定了它們的選擇順序。
如果某個資料夾不再可用,我相信它應該級聯到下一個位置。