Windows下git-lfs提示‘%PATH%中找不到可执行文件’:原因及缺失程序
Git LFS在MSYS Shell拉取文件时"executable file not found in %PATH%"错误分析
报错核心原因
这个错误出现在Git LFS执行批量请求(batch request)阶段,本质是LFS依赖的网络请求工具未在MSYS Shell的PATH中找到。最常见的缺失程序是curl——Git LFS默认通过curl与远程仓库通信,获取LFS对象的元数据和下载地址,没有它就无法完成批量请求流程。
为什么Windows PATH配置了仍会报错?
MSYS Shell的环境变量与Windows原生PATH是隔离的:
- 即使Windows系统PATH里有curl,MSYS可能未同步识别到该路径;
- 你安装的Git如果是Windows版本,其附带的curl可能不在MSYS的默认搜索路径中。
验证缺失程序的方法
在MSYS Shell中执行以下命令:
- 检查curl是否存在:
如果返回"command not found",则确认是curl缺失。curl --version - 检查Git LFS传输配置是否异常:
如果输出不是git config --get lfs.transferbasic或ssh,说明可能误配置了不存在的自定义传输工具。
解决步骤
- 安装MSYS版curl:通过MSYS包管理器安装:
pacman -S curl - 同步Windows Git的curl路径到MSYS:如果你的Git安装在
C:\Program Files\Git,执行以下命令添加路径:
(可将此命令添加到MSYS的export PATH="$PATH:/c/Program Files/Git/mingw64/bin"~/.bashrc中,永久生效) - 重置Git LFS传输配置:如果之前修改过传输配置,恢复默认:
git config --global lfs.transfer basic
内容的提问来源于stack exchange,提问作者GaryO
相关产品推荐
相关产品推荐

