Grunt/Git 在连接到 github.com 时抛出未知的 SSL 协议错误:443

Grunt/Git throws Unknown SSL protocol error in connection to github.com:443

我正在使用 Grunt 构建一个 Angular 网站。在大约三分之一的构建中,我看到以下错误:

ECMDERR Failed to execute "git ls-remote --tags --heads https://github.com/FortAwesome/Font-Awesome.git", exit code of #128 fatal: unable to access 'https://github.com/FortAwesome/Font-Awesome.git/': Unknown SSL protocol error in connection to github.com:443

看到 GIT_CURL_VERBOSE=1 和 GIT_TRACE_PACKET=2 给出以下内容:

Additional error details:
* Couldn't find host github.com in the _netrc file; using defaults
* timeout on name lookup is not supported
*   Trying 192.30.253.112...
* TCP_NODELAY set
* Connected to github.com (192.30.253.112) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
  CApath: none
* Unknown SSL protocol error in connection to github.com:443
* stopped the pause stream!
* Closing connection 0
fatal: unable to access 'https://github.com/FortAwesome/Font-Awesome.git/': Unknown SSL protocol error in connection to github.com:443

我试过以下方法都无济于事:

git config --global --add http.sslVersion tlsv1.2
git config --global http.sslverify false
git config --global url."https://".insteadOf git://
git config --global url."https://github.com/".insteadOf git@github.com

键入命令 "git ls-remote --tags --heads https://github.com/FortAwesome/Font-Awesome.git" 每次都有效。

将域名替换为IP地址时出现问题,请尝试将github.com添加到您的hosts文件并确保它已正确解析。

可见问题的行:

* Couldn't find host github.com in the _netrc file; using defaults
* timeout on name lookup is not supported
*   Trying 192.30.253.112...

我知道这听起来很愚蠢,但你 运行 这是在虚拟机上吗?如果是这样,请尝试增加它可以访问的 CPU 个内核的数量,因为我们遇到了类似的问题,这似乎解决了它。