为什么git difftool返回;无法运行git difftool--helper";错误?
git difftool停止工作,我不知道为什么为什么git difftool返回;无法运行git difftool--helper";错误?,git,git-difftool,Git,Git Difftool,git difftool停止工作,我不知道为什么 # git difftool --tool=vimdiff error: cannot run git-difftool--helper: No such file or directory fatal: external diff died, stopping at ... vimdiff安装在/bin/vimdiff上,工作正常 # vimdiff --version VIM - Vi IMproved 7.4 (2013 Aug 10,
# git difftool --tool=vimdiff
error: cannot run git-difftool--helper: No such file or directory
fatal: external diff died, stopping at ...
vimdiff
安装在/bin/vimdiff
上,工作正常
# vimdiff --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 9 2019 03:17:15)
- 将
更换为--工具
以外的工具时,也会出现同样的问题vimdiff
- 它发生在这台机器上的任何回购协议上,因此这不是回购协议特有的问题
- 试图通过
重新安装git。重新安装成功,但问题仍然存在yum重新安装git222 core.x86\u 64
过去在同一台机器上工作,所以我猜是机器的配置发生了变化,导致了这种情况git difftool
- 其他git命令(status、diff、commit、push等)工作正常。问题似乎仅限于git difftool
知道什么地方可能出错以及如何进一步调试吗?多亏@phd comment,我发现文件
/usr/lib/git core/git difftool--helper
丢失了。可能在git包本身中丢失了,因为重新安装git并不能解决这个问题 所以我从git repo下载了它(与我的git版本相同的标签): 将它移动(并重命名)到
/usr/lib/git core/git difftool--helper
,chmod a+x,现在它可以工作了
更新1 就
更新2 根据在ius上维护git222的@carlwgeorge,git difftool--helper是
git222
的一部分,而不是git222核心的一部分
这可以通过以下方式进行验证:
# repoquery -q --whatprovides /usr/libexec/git-core/git-difftool--helper
git-0:1.8.3.1-23.el7_8.x86_64
git-0:1.8.3.1-21.el7_7.x86_64
git-0:1.8.3.1-22.el7_8.x86_64
git222-0:2.22.2-1.el7.ius.x86_64
git224-0:2.24.3-1.el7.ius.x86_64
git222-0:2.22.3-1.el7.ius.x86_64
git224-0:2.24.2-1.el7.ius.x86_64
git222-0:2.22.4-1.el7.ius.x86_64
运行yum安装git222
后,git difftool--helper被还原:
# rpm -q --whatprovides /usr/libexec/git-core/git-difftool--helper
git222-2.22.4-1.el7.ius.x86_64
这辆车是从火车上叉下来的。它遵循相同的布局,在git222核心包中有一组最小的功能,其余的功能(及其所有依赖项)在git222主包中。这在git222的生命周期中没有改变,因此最有可能的情况是有人认为他们只需要git222内核,因此卸载了git222。要恢复该功能,请再次安装git222
yum install git222
locate-b\\git difftool--helper
?@phd-它确实不见了!我希望它在/usr/libexec/gitcore/
上,但它不在那里(其他文件在那里)。卸载和重新安装git并没有使它恢复。对我来说,它在/usr/lib/git core/git difftool--helper中。这样得到它怎么样:在有趣的中找到。可能值得向为CentOS维护此软件包存档的人报告。@torek这将是repo而不是CentOS repo,因为我需要更新的git版本。CentOS发行git 1.8.5。@AmirGonnen感谢您为此发行GitHub,我不经常查看此网站。我在这里和GitHub问题上都做了回答。
yum install git222