Kdiff3 FSPathMakeRef(app_path_location) 失败,错误为 -43 Mac OS-X

Kdiff3 FSPathMakeRef(app_path_location) failed with error -43 Mac OS-X

我正在尝试从终端打开 kdiff3 并将两个本地文件作为 kdiff3 的参数传递(不在 git 存储库中)。 Kdiff3 我正在使用 git diff 工具,它非常适合比较我当前的版本和 repo head 版本。但是,当我 运行 带有本地文件(不在 git 回购中)的 kdiff3 作为来自终端的参数时,问题发生了,然后我收到一条错误消息,说 FSPathMakeRef(local_kdiff_path/kdiff3.app ) failed with error -43. 仅供参考,kdiff3.app 路径位置与我为 git diff 工具或别名定义的完全相同。我尝试了两种方法,但其中 none 行得通:

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

请建议我如何解决这个问题?

问题是您在bash script.bash_profile中定义的路径找不到应用程序位置。尽管参数在 Linux 或 Windows 中很容易访问,但对于 mac 特定的脚本有点不同。

MAC OS-X解

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

kdiff_installed_folder/kdiff3.app/Contents/MacOS/kdiff3 "" "" ""

Linux 解决方案

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

alias kd '/app/kdiff3/0.9.96/RHEL64/kdiff3'
alias kd1 '/app/kdiff3/0.9.96/RHEL64/kdiff3 ' 
alias kd2 '/app/kdiff3/0.9.96/RHEL64/kdiff3  ' 

Windows 解决方案

如果安装 Git-bash 在 .bashrc 文件中添加以下行

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