在 Cygwin 上,运行git clone git@...
、git pull
或git push
(其中远程是 SSH 存储库地址)会失败。以下是运行的输出git clone
:
Cloning into 'iko-app-rocket'...
fatal: cannot run C:\Users\sakynimoD\scoop\apps\openssh\current\bin\ssh.exe: No such file or directory
fatal: unable to fork
正如你从路径中看到的,我用过舀,Windows 包管理器。我用它来安装 Gradle,它还安装了一些其他东西作为依赖项,包括 ssh。我已经按照推荐的方式卸载了 scoop 及其安装的所有软件包,但错误仍然存在。
一种解决方法是声明 git 应该使用ssh
SSH 的可执行文件,这听起来很多余,但显然不是:env GIT_SSH=ssh git pull
有效。
答案1
既然您发现显式设置GIT_SSH=ssh
有效,那么接下来要调查的是它是否已经设置(可能是通过 scoop 设置的)。您可以通过运行来检查echo "$GIT_SSH"
,也可以通过运行env
来显示整个环境。
如果已设置,则可能来自 Windows 的环境变量设置或.bashrc
类似的设置。