git clone错误:RPC失败;curl 56 OpenSSL SSL_read:SSL_ERROR_SYSCALL,错误10054


77

我在克隆git存储库时遇到问题。我已经尝试了几天,并尝试了许多解决方案(大多数情况下,该问题稍有不同,但似乎适用),但是没有任何事情可以有所作为。

我曾尝试关闭防病毒软件和防火墙,但这没有帮助。我也尝试过卸载并重新安装网络适配器驱动程序(并重新启动计算机),但没有成功。

据我了解,这是一个网络问题,因为远程服务器不断挂机,但我无法设法解决问题。

使用git clone -v --progress似乎提供与git clone相同的输出。git clone -v --progress https://github.com/mit-cml/appinventor-sources.git的输出

克隆到'appinventor-sources'... 远程发布
git-upload-pack(gzip 1425至774字节)
:计数对象:41649,已完成。
remote:压缩对象:100%(7/7),已完成。
错误:RPC失败;curl 56 OpenSSL SSL_read:SSL_ERROR_SYSCALL,errno 10054
致命:远端挂断意外
致命:早期EOF
致命:索引包失败

我现在尝试再次增加缓冲区

git config --global http.postBuffer 1048576000

但还是一无所有。

我正在从git克隆进行故障排除时,远程端意外挂起解决方案。


其他几种解决方案建议增加推入缓冲区的大小,您是否尝试过?通常,您可以排除已经尝试过的解决方案吗?
ChristophBöhmwalder17年

我的大脑有点fr,所以我只记得那些。想想我可能还会再尝试2或3次,如果我想到了,我会添加它们。现在,我将尝试缓冲区大小,谢谢。
user8612746

1
我增加了缓冲区大小git config --global http.postBuffer 524288000,没有变化。500M可以吗?
user8612746

1
我看到了提到修复程序support.microsoft.com/en-us/help/981344/…的解决方案。我尚未应用此修复程序,但我想这是否是关闭防病毒和防火墙的功能也会起作用的问题
user8612746

我考虑的一件事是SSL不是最新版本。我正在使用具有OpenSSL 1.0.2l的Windows版Git。这是以前的版本。那会有所作为吗?
user8612746

Answers:


97

我通过以下方法解决了相同的问题:

git config http.postBuffer 524288000

这可能是由于存储库的大小以及git的默认缓冲区大小所致,因此通过在git bash上进行上述操作,git缓冲区的大小将会增加。

干杯!


1
哇。猜猜一切都是第一次。从来没有想过我会看到一个仓库太大而无法管理。您知道是否需要以某种方式进行管理吗?我可以想象,如果规模继续增长,这种情况还会继续发生
Barry

7
git initgit config http.postBuffer 524288000
风声猎猎

2
另一个选项是全局配置:git config --global http.postBuffer 524288000
Fernando JS

30

我遇到了同样的问题,并且通过更改网络连接解决了该问题。实际上,我上一次的互联网连接速度太慢(45 kbit / s)。因此,您应该使用更快的网络连接重试。


4
这似乎是我首先尝试的最简单的解决方法...令人惊讶的是,从wifi切换到以太网确实也为我解决了这个问题。
rob_james

切换到更好的网络连接确实对我有所帮助。非常感谢:)
soni kumari

10

我遇到了同样的问题,@ ingyhere的回答解决了我的问题。
遵循他在这里回答的指示。

git config --global core.compression 0
git clone --depth 1 <repo_URI>
# cd to your newly created directory
git fetch --unshallow 
git pull --all

1
如果我这样做,当我尝试将其检出时git找不到我的分支...
raquelhortab

我对此一无所知。通过发布答案或发表评论让我知道您是否找到原因。谢谢。
Shahryar Saljoughi

2
我最终还是按原样进行了操作,只好尝试10次,直到它起作用为止...不知道为什么
raquelhortab

1
这对我
有用,

8

第一次没有网络连接或网络连接不良时发生这种情况。但是,当您再次尝试使用良好的网络连接2,3次时,将解决此问题。


1
是的,可以确认,我不得不重试10次,突然间我可以克隆该存储库...
Leojet



4

您需要增加缓冲区大小(这是由于较大的存储库大小),因此您必须增加它

git config http.postBuffer 524288000

虽然您必须具有一个初始化库,但如下所示

git init
git config http.postBuffer 524288000
git remote add origin <REPO URL>
git pull origin master
...


1

被提到为SSL_ERROR_SYSCALL,错误10054。

为了解决此SSL问题,我转到了.gitconfig文件(位于桌面c驱动器中),我将其更改sslverify为false并添加了用户名和电子邮件ID。

sslVerify = `false` //make sslVerify as false    
[user]
    name = `***<Enter your name>**`
    email = `**<Email Id>**`

使用命令行:混帐配置http.sslVerify假(见stackoverflow.com/questions/11621768/...
csharpforevermore

我实际上使用了此命令-git config http.sslVerify为false,然后我使用了-git config http.sslVerify为true,然后它起作用了!
阿迪亚·辛哈

1

尝试设置由安装在Raspberry Pi 4上的Docker运行程序执行的Gitlab管道时,我遇到了完全相同的问题

使用nload遵循泊坞亚军容器内带宽利用率,同时管道被克隆我看到了网络使用率下降到每秒几个字节回购..

经过更深入的调查,我发现Raspberry温度过高,并且网卡在50摄氏度以上开始出现故障。

向我的Raspberry添加风扇可以解决此问题。


1

以下步骤可帮助我解决此问题,解决方案1:

  1. git checkout主
  2. git pull
  3. git checkout [您当前的分支]
  4. git pull

您还可以设置git config http.postBuffer 524288000以增加网络缓冲区

解决方案2:

有时在您使用VPN克隆存储库而无法验证SSL时发生

试试这个可能会有所帮助:

git config http.sslVerify“ false”


0

我所做的是将依赖项列表移至

#Pods for <app>

在Podfile中。像这样:

    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'

    target '<app>' do
    # Comment the next line if you don't want to use dynamic frameworks
    use_frameworks!

  # Pods for <app>

  target '<app>Tests' do
    inherit! :search_paths
    # Pods for testing
  end

  target '<app>UITests' do
    inherit! :search_paths
    # Pods for testing
  end

    pod 'Firebase/Core'
    pod 'Firebase/Database'

end

0

所有这些技巧对我都不起作用,有效的方法是通过ssh而不是http克隆


0
git config --global http.postBuffer 524288000

就我而言-AWS代码提交


0

这可能是您的网络出现问题(即与您的任何git配置,防火墙或任何其他计算机设置都没有问题)。要确认这一点,您可以测试以下内容:

  1. 查看此问题是否在不同计算机上的同一网络上仍然存在(对我而言是正确的)。
  2. 尝试在另一个网络上运行有问题的git命令(对我来说是这样git pull,看看它是否有效。我将桌面移到一个朋友的桌面上,并确认该命令确实有效,无需进行任何修改。我还在附近的开放网络上从笔记本电脑上测试了该命令,该命令也突然开始工作(所以对我来说也是这样)

如果您可以确认上面的#1和#2,则可能是时候从ISP安排与技术人员的约会了。我在一幢相当新的大楼中有光纤互联网,当技术人员到达时,他们去了我大楼的电信室并切换了我的互联网端口。这似乎可以解决该问题。他还让我知道,我的建筑物中还有其他大问题在发生(因此,这可能与您的机器或您所控制的事情无关!)。

如果失败,那么如果您愿意的话,可以考虑切换互联网提供商。否则,请继续致电您的ISP,以派遣越来越多的高级技术人员,直到解决为止。

我希望实际上没有人必须诉诸于我做的发现问题的方法。

tl; dr:给您的ISP打个电话,因为问题可能出在您的网络上。


0

(基于HakanFıstık的分析服务)

您还可以全局设置postBuffer,如果尚未签出存储库,这可能是必要的!

git config http.postBuffer 524288000

在终端中使用此命令给我错误fatal: not in a git directory
Niraj
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.