0

我的情况:OSX 10.9 + Xcode 4.6.3 + 运行脚本阶段 + 脚本:

#!/bin/bash

/usr/bin/svn --version
ls -la /usr/bin/svn
exit 1

我收到输出:

svn, version 1.6.18 (r1303927)
-rwxr-xr-x  1 root  wheel  14224 26 oct 05:08 /usr/bin/svn

太不可思议了。实际文件的大小和日期与 v1.7.10 相对应(实际上是放在 path 中/usr/bin/svn),但是从 XCode 中调用此文件将调用该/Application/Xcode463.app/Content/Developer/usr/bin/svn命令!

我怎样才能防止这种情况?如何调用我的默认/usr/bin/svn命令?如何在不替换真实文件的情况下用另一个命令进行隐藏替换?

4

1 回答 1

0

正确答案是/usr/bin/svn指向xcrun包装器的链接。命令查看:

nm /usr/bin/svn

所以问题的根本原因是下一个命令:

xcode-select --print-path

在运行脚本阶段将打印当前 Xcode 而不是系统默认 Xcode。

于 2013-10-30T04:19:33.017 回答