WSL2执行Git操作提示Git Credential Manager未找到如何解决
错误信息
/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe get: 1: /mnt/c/Program Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe: not found
解决步骤
第一步:先核对Windows侧实际文件路径
网上绝大多数老教程给出的路径带git-credential-manager-core.exe后缀,这是2022年之前Git Credential Manager(GCM)用的旧文件名,新版Git for Windows升级后已经把程序更名为git-credential-manager.exe,旧文件直接被删除,照搬老教程配置必然报文件不存在。
- 打开Windows资源管理器,手动进入
C:\Program Files\Git\mingw64\libexec\git-core目录,确认目录下实际存在的GCM可执行文件完整名称,记下来备用。 - 如果翻遍目录都找不到GCM相关exe,说明装Git for Windows的时候没勾选GCM组件,重新跑一遍Windows端Git安装包,安装时确认勾选GCM选项即可。
第二步:清理WSL内的无效旧配置
之前照着老教程加的错误配置会持续干扰,先全部清掉:
- 执行命令删除Git全局配置里的错误凭据助手项:
git config --global --unset-all credential.helper - 打开
~/.bashrc、~/.zshrc等你用的shell对应的配置文件,删掉之前手动加的GCM路径、credential helper相关的环境变量行,保存后执行source命令加载新配置,比如用bash就跑source ~/.bashrc。
第三步:重新配置正确的凭据助手
不要靠加PATH的方式配置,直接写绝对路径最稳,把下面命令里的exe文件名换成你第一步查到的实际文件名即可:
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
补一条WSL适配配置,避免GCM弹窗异常:
git config --global credential.https://dev.azure.com.useHttpPath true
第四步:验证配置
- 先直接在WSL终端里跑你配置的GCM全路径加version参数,比如:
能正常输出版本号说明路径配置正确,如果还是报找不到文件,先在Windows终端执行/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe versionwsl --shutdown关闭WSL再重新打开,排查/mnt/c挂载异常的问题。 - 进入本地Git仓库执行
git fetch,首次操作会弹出Windows端的GCM验证窗口,完成GitHub授权后,后续所有Git操作都会自动读取凭据,不会再反复要求输入用户名密码。
备选方案(完全不依赖Windows侧GCM)
如果跨系统调用GCM始终有问题,直接走SSH密钥验证更稳定:
- WSL内执行命令生成ed25519类型的SSH密钥,一路回车用默认配置即可:
ssh-keygen -t ed25519 -C "你自己的GitHub绑定邮箱" - 执行
cat ~/.ssh/id_ed25519.pub,把输出的全部公钥内容复制,添加到GitHub账号的SSH密钥设置页。 - 把本地仓库的远程地址从HTTPS格式改成SSH格式,比如原地址是
https://github.com/用户名/仓库名.git,就执行:
后续所有Git操作走SSH协议验证,不需要额外管理凭据,也不会出现跨系统调用的路径问题。git remote set-url origin git@github.com:用户名/仓库名.git
内容的提问来源于stack exchange,提问作者ImBIOS
相关产品推荐
相关产品推荐

