MacPort端口不会覆盖预安装的旧版本

时间:2012-04-06 13:44:03

标签: macos macports

我有XCode 3.2.6,其中包括SVN 1.6.x.我刚刚安装了MacPorts并获得了1.7.x的subversion,但是当我运行svn --version时它显示为1.6.17。

我在Xcode之后安装了MacPorts,为什么Scode#s版本优先?

2 个答案:

答案 0 :(得分:5)

如果从shell命令行运行svn(如在终端窗口中),则需要确保MacPorts安装的bin目录(默认为/opt/local/bin })出现在Apple安装版本所在的位置(/usr/bin)之前。这由流程环境变量PATH控制。

$ export PATH=/opt/local/bin/:$PATH

要进行此更改永久,请将该行添加到您的shell启动文件中,例如.bash_profile

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
$ which svn
/usr/bin/svn$ svn --version
svn, version 1.6.17 (r1128011)
   compiled Feb  1 2012, 15:04:34
[...]
$ export PATH=/opt/local/bin:$PATH
$ echo $PATH
/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
$ which svn
/opt/local/bin/svn
$ svn --version
svn, version 1.7.4 (r1295709)
   compiled Mar  8 2012, 19:29:25
[...]

答案 1 :(得分:2)

我有同样的问题(svn --version显示1.6.x),即使/opt/local/bin位于路径的前面,which svn返回/opt/local/bin/svn,并且正在运行/opt/local/bin/svn --version显示1.7.x。

对我来说,重启终端修复了它。