git pull 失败并显示“应用程序没有调用 WSAStartup,或者 WSAStartup 失败”

Posted

技术标签:

【中文标题】git pull 失败并显示“应用程序没有调用 WSAStartup,或者 WSAStartup 失败”【英文标题】:git pull fails with "Either the application has not called WSAStartup, or WSAStartup failed" 【发布时间】:2019-04-27 21:10:54 【问题描述】:

我刚刚安装了 Windows 10、Visual Studio Community 2015 和 Git for Windows。我还安装了最新的 Bitbucket 和 GitHub 扩展。

在 Visual Studio 中,我克隆了我的 Bitbucket.com 托管存储库,并成功执行了这些操作:

$ git --version
git version 2.19.2.windows.1

$ git pull
Already up to date.

但是当我尝试从另一个存储库中提取时,我收到了这个错误:

$ git pull git://github.com/aegif/CmisSync.git
fatal: unable to lookup github.com (port 9418) (Either the application has not called WSAStartup, or WSAStartup failed. )

我可以 ping github.com。

我该如何调查和解决问题?

【问题讨论】:

如果我尝试在本地计算机上启动 $ git daemon,我会遇到类似的错误。对于 WSAStartup 调用,它失败并显示类似的消息,并且无法在端口 9418 上侦听。我认为问题可能类似,但我还没有找到任何解决方案。编辑:我也在使用相同的 git 版本 - git version 2.19.2.windows.1 【参考方案1】:

对于那些无法编辑 URL 的人,将 git 降级到以前的版本似乎可以工作。

这似乎是 git 版本 2.19.2.windows.1 的问题

【讨论】:

正确。相关的 GitHub 问题:github.com/git-for-windows/git/issues/1952 正如 GitHub 问题中提到的,您还可以下载 latest snapshots,其中已经包含此问题的修复程序。显然在 12 月的某个日期之前不会发布另一个正式版本。 我已切换到github.com/git-for-windows/git/releases 提供的v2.20.0-rc2.windows.1 版本,现在它可以正常工作了。【参考方案2】:

一种技术含量较低的解决方法是将 URL 中的 git:// 替换为 https://。 然后命令顺利进行。

警告:

它只能以只读方式工作,因此如果您将来可能想推送到存储库,请改用PhillyAI's solution。 请注意,虽然它目前适用于 GitHub,但此技巧可能不适用于其他 Git 服务器。

【讨论】:

【参考方案3】:

这是早期版本的 Git for Windows 中的一个已知错误。

升级/安装大于2.20.0.的版本

您可以使用命令$ git --version查看当前安装的版本

【讨论】:

【参考方案4】:

我发现还有另一种解决方案,即导航到.git 文件夹,编辑此文件夹内的config 文件更改

[remote "origin"]
        url = git://github.com/yourUsername/yourRepo.git

[remote "origin"]
        url = https://github.com/yourUsername/yourRepo.git

修复了不想降级 git 客户端的问题

【讨论】:

以上是关于git pull 失败并显示“应用程序没有调用 WSAStartup,或者 WSAStartup 失败”的主要内容,如果未能解决你的问题,请参考以下文章

为啥我用git gui pull总是失败

为啥我用git gui pull总是失败

git pull 失败

无法“git pull” - 主机密钥验证失败

为啥我用git gui pull总是失败

git 要commit之前先pull, 这样做法合理吗?