升级Mac自带的SVN版本

所属:Tutorials, Mac

Mac在10.9.1版本里,系统默认安装了 subversion(svn) ,但是往往默认安装的版本都是比较低的(本人系统默认安装的svn版本是 1.7.10),由于在虚拟机里用的是1.8.x以上的,直接导致在 Terminal 终端里直接用命令行提交时会提示失败(由于svn版本过低造成的),因此有了这篇文章,顺便记录下折腾的过程。

准备工作:

首先要确保您的 Mac 已经安装好了 Git (默认已安装) 和 Homebrew

备份系统自带的SVN

打开 Terminal 终端,查找默认安装的SVN路径并建个文件夹备份下

1
2
3
4
5
which svn
cd /usr/bin
mkdir ~/.backup
(sudo) cp -rp svn* ~/.backup
(sudo) rm -rf svn*

安装最新版本SVN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
❯ brew install subversion
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/subversion-
Already downloaded: /Library/Caches/Homebrew/subversion-1.8.5.mavericks.bottle.tar.gz
==> Pouring subversion-1.8.5.mavericks.bottle.tar.gz
==> Caveats
svntools have been installed to:
/usr/local/opt/subversion/libexec
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
Warning: Could not link subversion. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link subversion'
Possible conflicting files are:
==> Summary
🍺 /usr/local/Cellar/subversion/1.8.5: 116 files, 9.3M

因为之前安装过,有些依赖就不会重复安装了,可能安装过程跟以上有些出入,不过没关系。
安装完后注意看最后的提示( WarningError ),说明还没完全安装成功的。。

如果现在直接在 Terminal 终端里输入 brew link subversion ,则会出现如下:

1
2
3
4
5
❯ brew link subversion
Linking /usr/local/Cellar/subversion/1.8.5... Warning: Could not link subversion. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/subversion/1.8.5/lib/libsvn_wc-1.dylib
/usr/local/lib is not writable. You should change its permissions.

结果还是没能完全安装成功,失败的原因是文件权限不够、写入失败。

修改文件权限

按照上面安装完后的提示,去修改对应文件的权限,至于是755还是777,个人觉得随便都行,只要加个写入的权限就可以了

1
2
chmod 777 /usr/local/Cellar/subversion/1.8.5/lib/libsvn_wc-1.dylib
chmod 777 /usr/local/lib

创建软链接

接下来再次尝试创建软件链接,如果一切顺利的话则会出现如下提示,则表示软链接已成功创建。

1
2
brew link subversion
Linking /usr/local/Cellar/subversion/1.8.5... 60 symlinks created

验证是否安装成功

继续在 Terminal 终端里,敲入 svn –version 进行验证

1
svn —version

svn

注意看看红线那部分,看看是不是你安装了那个版本…

参考资料