无意中更改 xcode-select 默认值后,opendiff 命令无法调用

xcode-select 的默认值为 /Applications/Xcode.app/Contents/Developer

之前不知道乱改,无意中将默认值改成了 /Applications/Xcode.app

用了一段时间后我还没发现有什么改变

直到今天我再 Versions 里面对比代码变更的时候才发现,点不开 FileMerge.app

(Versions.app 是通过 /usr/bin/opendiff 来间接调用 FileMerge.app 的)

命令行提示信息为:

Error: Can't run /Applications/Xcode.app/usr/bin/opendiff (no such file).

我在网上搜了很久都没有找到相关的信息,可能这种情况出现的却是比较少吧~

之前 sublime text 2 调用  ctags 插件时差不多也是这样的情况,

我当时是直接修改 ctags 插件中的 ctags.py 文件才弄好的,

仔细想来,其实和这里的问题如出一辙,

因为由之前 ctags 的经验,我很快的检查了一下 /usr/bin 目录,

发现这个目录中是存在 opendiff 可执行文件的,

然后再控制台键入 which opendiffwhereis opendiff 命令,

反馈的结果都指向为 /usr/bin/opendiff

这样的话,情况就很明了了,百分百是路径拼接的问题

但就为何 /usr/bin/opendif 前面被追加了一个 “/Applications/Xcode.app” 我也是百思不得其解,

xcode-select 是我无意间想到的一个命令,怎么说呢,就像第六感吧,

结果问题还真出在这里,他有 -h, -print-path, -switch 这几个最常用的命令

我试着用 -print-path 打印了一下它的指向,并在同事的机器上也试了了一下,

发现我这里果然存在猫腻,正常同事电脑里面是 /Applications/Xcode.app/Contents/Developer

而我不正常的电脑里则是 /Applications/Xcode.app

我用  xcode-select -swtich 命令切换到 /Applications/Xcode.app/Contents/Developer 以后

Versions 里面果然可以顺利点出 FileMerge 了,

至此延续了个把星期的问题总算是水落石出(时间起点为 ctags 遇到问题的时候)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值