Macos Kdiff3 FSPathMakeRef(应用程序路径位置)失败,错误为-43 Mac OS-X

Macos Kdiff3 FSPathMakeRef(应用程序路径位置)失败,错误为-43 Mac OS-X,macos,kdiff3,Macos,Kdiff3,我试图从终端打开kdiff3,并将两个本地文件作为kdiff3的参数传递(不在git repo中)。我使用的Kdiff3作为git diff工具,可以很好地比较我的当前版本和repo head版本。但是,当我使用本地文件(不在git repo中)运行kdiff3作为终端的参数时,出现了问题,然后我得到一个错误,错误是,FSPathMakeRef(local_kdiff_path/kdiff3.app)失败,错误为-43。FYI,kdiff3.app路径位置与我为git diff工具或别名定义的位

我试图从终端打开kdiff3,并将两个本地文件作为kdiff3的参数传递(不在git repo中)。我使用的Kdiff3作为git diff工具,可以很好地比较我的当前版本和repo head版本。但是,当我使用本地文件(不在git repo中)运行kdiff3作为终端的参数时,出现了问题,然后我得到一个错误,错误是,
FSPathMakeRef(local_kdiff_path/kdiff3.app)失败,错误为-43。
FYI,kdiff3.app路径位置与我为git diff工具或别名定义的位置完全相同。我尝试了以下两种方法,但均无效:

alias kd2='open -a "local_kdiff_path/kdiff3.app" $1 $2'
alias kd3='sudo open -a "local_kdiff_path/kdiff3.app/Contents/MacOS/kdiff3" $1 $2'

请建议我如何解决此问题?

问题是您在
bash脚本
中定义的路径。bash\u配置文件
找不到应用程序位置。尽管这个参数在Linux或Windows中很容易访问,但对于特定于mac的脚本则略有不同

MAC OS-X解决方案

创建一个简单的bash脚本,如下所示并提供参数

kdiff_installed_folder/kdiff3.app/Contents/MacOS/kdiff3 "$1" "$2" "$4"
Linux解决方案

在.bashrc或.alias文件中添加以下命令

alias kd '/app/kdiff3/0.9.96/RHEL64/kdiff3'
alias kd1 '/app/kdiff3/0.9.96/RHEL64/kdiff3 $1' 
alias kd2 '/app/kdiff3/0.9.96/RHEL64/kdiff3 $1 $2' 
Windows解决方案

如果安装了
gitbash
,请在.bashrc文件中添加以下行

alias kd='"C:/Program Files/KDiff3/kdiff3.exe"'
alias kd1='"C:/Program Files/KDiff3/kdiff3.exe" $1'
alias kd2='"C:/Program Files/KDiff3/kdiff3.exe" $1 $2'