error: RPC failed; curl transfer closed with outstanding read data remaining
error: RPC failed; curl transfer closed with outstanding read data remaining
当我尝试从 GitLab (GitLab 6.6.2 4ef8369) 克隆存储库时遇到此错误:
remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
然后中止克隆。我怎样才能避免这种情况?
几天后,今天我刚刚解决了这个问题。生成ssh key,按照这篇文章:
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
声明为
- Git 提供商(Git我正在使用的实验室,GitHub)。
- 将此添加到本地身份。
然后通过命令克隆:
git clone username@mydomain.com:my_group/my_repository.git
没有错误发生。
以上问题
error: RPC failed; curl 18 transfer closed with outstanding read data
remaining
因为通过 HTTP 协议(curl
命令)克隆时出现错误。
并且,您应该增加缓冲区大小:
git config --global http.postBuffer 524288000
我遇到这个问题是因为代理配置。我在代理异常中添加了 ip git 服务器。
git 服务器是本地服务器,但 no_proxy 环境变量设置不正确。
我使用这个命令来确定问题:
#Linux:
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
在 return 中有 "Proxy-Authorization",因为 git 服务器不应该通过代理。
但真正的问题是代理规则定义的文件大小
如上所述,首先 运行 来自 bash 的 git 命令在开头添加增强的日志指令:GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
例如GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
这将向您显示详细的错误信息。
这种情况经常发生,我的互联网连接速度很慢,我必须克隆一个相当大的 git 存储库。最常见的问题是连接关闭,整个克隆被取消。
Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
经过大量的尝试和错误以及大量的“远程端意外挂断”,我有一个适合我的方法。这个想法是先做一个浅克隆,然后用它的历史更新存储库。
$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
当我尝试从远程克隆时,反复遇到同样的问题:
remote: Counting objects: 182, done.
remote: Compressing objects: 100% (149/149), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
最后这对我有用:
git clone https://username@bitbucket.org/repositoryName.git --depth 1
试试这个
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
这对我有用..
capture.png
更改 git 克隆协议进行尝试。
比如这个错误发生在"git clone https://xxxxxxxxxxxxxxx"
你可以试试 "git clone git://xxxxxxxxxxxxxx",也许可以。
简单的解决方案:与其通过 https 克隆,不如通过 ssh 克隆。
例如:
git clone https://github.com/vaibhavjain2/xxx.git - Avoid
git clone git@github.com:vaibhavjain2/xxx.git - Correct
这些步骤对我有用:
cd [dir]
git init
git clone [your Repository Url]
我希望这对你也有用。
网络连接问题。
可能是由于持久连接超时。
最好的办法就是换个网络。
这些步骤适用于 me:using git://
而不是 https://
尝试了这里的所有答案。
我试图将 cocoapods 添加到我的机器上。
我没有 SSH 密钥所以谢谢@Do Nhu Vy
终于用上了
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
最终解决发现的问题
对我来说,问题是连接在整个克隆完成之前关闭。我使用以太网而不是 wifi 连接。然后它为我解决了
此错误似乎更常发生在 Internet 连接缓慢或有问题的情况下。我已经连接到良好的互联网速度然后它运行完美。
您需要关闭压缩:
git config --global core.compression 0
那么你需要使用浅克隆
git clone --depth=1 <url>
那么最重要的一步就是 cd 到你克隆的项目中
cd <shallow cloned project dir>
现在解开克隆,一步一步
git fetch --depth=N, with increasing N
例如
git fetch --depth=4
那么,
git fetch --depth=100
那么,
git fetch --depth=500
你可以通过替换这个N来选择你想要的步数,
最后使用
下载所有剩余的修订版
git fetch --unshallow
如果对你有帮助就点个赞吧:)
当您是代理问题或网络缓慢时,就会出现此问题。您可以使用深度解决方案或
git fetch --all or git clone
如果出现 curl 56 Recv failure 错误,则通过 zip 或
指定分支名称而不是 --all
git fetch origin BranchName
此问题通常发生在克隆大型存储库时。如果 git clone http://github.com/large-repository --depth 1
在 windows cmd 上不起作用。尝试 运行 windows powershell 中的命令。
可能有两个原因
- 网速很慢(这是我的情况)
- 缓冲区较小,在这种情况下你可以运行命令
git 配置 --global http.postBuffer 524288000
对我来说有用的是,因为 git 的内存需求可能会出现此错误。我已将这些行添加到我的全局 git 配置文件 .gitconfig 中,它存在于 $USER_HOME 中,即 C:\Users\<USER_NAME>\.gitconfig
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
通常是由于以下原因之一:
- 网速慢。
- 在许多情况下,切换到网络连接稳定的 LAN 电缆会有帮助。在抓取时避免执行任何并行网络密集型任务。
- 从您尝试获取的服务器端小 TCP/IP 连接超时。
- 你无能为力。您所能做的就是请求您的系统管理员或CI/CD负责增加TCP/IP超时并等待的团队。
- 服务器负载过重。
- 由于工作时间服务器负载过重,下载大文件可能会失败constantly.Leave您的计算机在晚上开始下载后可能会失败。
- 客户端计算机上的小型 HTTPS 缓冲区。
- 增加 post 和请求的缓冲区大小可能会有所帮助,但不能保证
git config --global http.postBuffer 524288000
git config --global http.maxRequestBuffer 524288000
git config --global core.compression 0
此问题已 100% 解决。我遇到了这个问题,我的项目经理更改了回购名称,但我使用的是旧回购名称。
Engineer@-Engi64 /g/xampp/htdocs/hospitality
$ git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repo/cms
Cloning into 'cms'...
remote: Counting objects: 10647, done.
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
我是怎么解决这个问题的。 Repo link 无效,这就是我遇到这个问题的原因。请在克隆之前检查你的 repo link。
这对我有用
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
我在将一些代码推送到 Github 时遇到了同样的问题。
我尝试了 git config --global http.postBuffer 524288000
但它对我不起作用。
原因
这是因为你的提交历史and/or任何文件大小都比较大。
我的案例
在我的例子中,包-lock.json 导致了问题。
它的大小为 1500+KB,代码为 33K 行。
我是怎么解决的?
- 我提交并推送了所有内容没有包-lock.json
- 复制package-lock.json.
的内容
- 从 GitHub 存储库页面创建了一个名为 package-lock.json 的新文件。
- 粘贴包的内容-lock.json并提交。
- git 在本地拉。
完成。
小贴士
- 保持每个提交大小更小
- 经常推送
- 使用良好的互联网连接
希望对你有所帮助。
我也面临这个问题。解决它。
问题是互联网连接速度慢。请检查您的互联网连接。
我已经连接到良好的互联网速度然后它完美地工作。希望对你有帮助。
git clone --global core.compression 0
然后
git clone --depth=1 <https://your_repo.git>
然后
git fetch --depth=2
然后
git fetch --depth=10
...
等等,直到他写
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
最后可以写
git fetch --unshallow
你会被抛出
fatal: --unshallow on a complete repository does not make sense
如果在某个阶段您再次遇到错误,请尝试将 --depth 属性 设置为较小的值并逐渐增加
当我尝试从 GitLab (GitLab 6.6.2 4ef8369) 克隆存储库时遇到此错误:
remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
然后中止克隆。我怎样才能避免这种情况?
几天后,今天我刚刚解决了这个问题。生成ssh key,按照这篇文章:
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
声明为
- Git 提供商(Git我正在使用的实验室,GitHub)。
- 将此添加到本地身份。
然后通过命令克隆:
git clone username@mydomain.com:my_group/my_repository.git
没有错误发生。
以上问题
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
因为通过 HTTP 协议(curl
命令)克隆时出现错误。
并且,您应该增加缓冲区大小:
git config --global http.postBuffer 524288000
我遇到这个问题是因为代理配置。我在代理异常中添加了 ip git 服务器。 git 服务器是本地服务器,但 no_proxy 环境变量设置不正确。
我使用这个命令来确定问题:
#Linux:
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
在 return 中有 "Proxy-Authorization",因为 git 服务器不应该通过代理。 但真正的问题是代理规则定义的文件大小
如上所述,首先 运行 来自 bash 的 git 命令在开头添加增强的日志指令:GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
例如GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
这将向您显示详细的错误信息。
这种情况经常发生,我的互联网连接速度很慢,我必须克隆一个相当大的 git 存储库。最常见的问题是连接关闭,整个克隆被取消。
Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
经过大量的尝试和错误以及大量的“远程端意外挂断”,我有一个适合我的方法。这个想法是先做一个浅克隆,然后用它的历史更新存储库。
$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
当我尝试从远程克隆时,反复遇到同样的问题:
remote: Counting objects: 182, done.
remote: Compressing objects: 100% (149/149), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
最后这对我有用:
git clone https://username@bitbucket.org/repositoryName.git --depth 1
试试这个
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
这对我有用.. capture.png
更改 git 克隆协议进行尝试。
比如这个错误发生在"git clone https://xxxxxxxxxxxxxxx"
你可以试试 "git clone git://xxxxxxxxxxxxxx",也许可以。
简单的解决方案:与其通过 https 克隆,不如通过 ssh 克隆。
例如:
git clone https://github.com/vaibhavjain2/xxx.git - Avoid
git clone git@github.com:vaibhavjain2/xxx.git - Correct
这些步骤对我有用:
cd [dir]
git init
git clone [your Repository Url]
我希望这对你也有用。
网络连接问题。
可能是由于持久连接超时。
最好的办法就是换个网络。
这些步骤适用于 me:using git://
而不是 https://
尝试了这里的所有答案。 我试图将 cocoapods 添加到我的机器上。
我没有 SSH 密钥所以谢谢@Do Nhu Vy
终于用上了
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
最终解决发现的问题
对我来说,问题是连接在整个克隆完成之前关闭。我使用以太网而不是 wifi 连接。然后它为我解决了
此错误似乎更常发生在 Internet 连接缓慢或有问题的情况下。我已经连接到良好的互联网速度然后它运行完美。
您需要关闭压缩:
git config --global core.compression 0
那么你需要使用浅克隆
git clone --depth=1 <url>
那么最重要的一步就是 cd 到你克隆的项目中
cd <shallow cloned project dir>
现在解开克隆,一步一步
git fetch --depth=N, with increasing N
例如
git fetch --depth=4
那么,
git fetch --depth=100
那么,
git fetch --depth=500
你可以通过替换这个N来选择你想要的步数,
最后使用
下载所有剩余的修订版git fetch --unshallow
如果对你有帮助就点个赞吧:)
当您是代理问题或网络缓慢时,就会出现此问题。您可以使用深度解决方案或
git fetch --all or git clone
如果出现 curl 56 Recv failure 错误,则通过 zip 或 指定分支名称而不是 --all
git fetch origin BranchName
此问题通常发生在克隆大型存储库时。如果 git clone http://github.com/large-repository --depth 1
在 windows cmd 上不起作用。尝试 运行 windows powershell 中的命令。
可能有两个原因
- 网速很慢(这是我的情况)
- 缓冲区较小,在这种情况下你可以运行命令 git 配置 --global http.postBuffer 524288000
对我来说有用的是,因为 git 的内存需求可能会出现此错误。我已将这些行添加到我的全局 git 配置文件 .gitconfig 中,它存在于 $USER_HOME 中,即 C:\Users\<USER_NAME>\.gitconfig
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
通常是由于以下原因之一:
- 网速慢。
- 在许多情况下,切换到网络连接稳定的 LAN 电缆会有帮助。在抓取时避免执行任何并行网络密集型任务。
- 从您尝试获取的服务器端小 TCP/IP 连接超时。
- 你无能为力。您所能做的就是请求您的系统管理员或CI/CD负责增加TCP/IP超时并等待的团队。
- 服务器负载过重。
- 由于工作时间服务器负载过重,下载大文件可能会失败constantly.Leave您的计算机在晚上开始下载后可能会失败。
- 客户端计算机上的小型 HTTPS 缓冲区。
- 增加 post 和请求的缓冲区大小可能会有所帮助,但不能保证
git config --global http.postBuffer 524288000
git config --global http.maxRequestBuffer 524288000
git config --global core.compression 0
此问题已 100% 解决。我遇到了这个问题,我的项目经理更改了回购名称,但我使用的是旧回购名称。
Engineer@-Engi64 /g/xampp/htdocs/hospitality
$ git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repo/cms
Cloning into 'cms'...
remote: Counting objects: 10647, done.
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
我是怎么解决这个问题的。 Repo link 无效,这就是我遇到这个问题的原因。请在克隆之前检查你的 repo link。
这对我有用
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
我在将一些代码推送到 Github 时遇到了同样的问题。
我尝试了 git config --global http.postBuffer 524288000
但它对我不起作用。
原因
这是因为你的提交历史and/or任何文件大小都比较大。
我的案例
在我的例子中,包-lock.json 导致了问题。 它的大小为 1500+KB,代码为 33K 行。
我是怎么解决的?
- 我提交并推送了所有内容没有包-lock.json
- 复制package-lock.json. 的内容
- 从 GitHub 存储库页面创建了一个名为 package-lock.json 的新文件。
- 粘贴包的内容-lock.json并提交。
- git 在本地拉。
完成。
小贴士
- 保持每个提交大小更小
- 经常推送
- 使用良好的互联网连接
希望对你有所帮助。
我也面临这个问题。解决它。 问题是互联网连接速度慢。请检查您的互联网连接。 我已经连接到良好的互联网速度然后它完美地工作。希望对你有帮助。
git clone --global core.compression 0
然后
git clone --depth=1 <https://your_repo.git>
然后
git fetch --depth=2
然后
git fetch --depth=10
... 等等,直到他写
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
最后可以写
git fetch --unshallow
你会被抛出
fatal: --unshallow on a complete repository does not make sense
如果在某个阶段您再次遇到错误,请尝试将 --depth 属性 设置为较小的值并逐渐增加