/bin /usr/bin 中的 subversion 二进制文件错误

/bin /usr/bin 中的 subversion 二进制文件错误

我在 Mac 上工作,最近更新了 Xcode,在此更新中,它安装了最新版本subversion 1.9.x作为核心安装。这很好,但在工作中我们使用的1.8.x这个新版本是不兼容的。

理想情况下,我想将核心颠覆改回 1.8.x,但我不清楚如何进行。到目前为止我所做的是通过包管理器(Homebrew)将正确的版本安装到/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包含您希望从命令行访问的任何二进制文件的位置。您选择的二进制文件越靠近字符串的前面,就决定了它们的选择顺序。

如果某个文件夹不再可用,我相信它应该级联到下一个位置。

相关内容