UnrealEngine仓库克隆失败求助:已调整Git配置仍无法完成
解决UnrealEngine仓库克隆失败(RPC failed/early EOF)问题
问题重现
执行克隆命令时出现以下错误:
PS D:\> git clone --depth 1 -b release https://github.com/EpicGames/UnrealEngine.git Cloning into 'UnrealEngine'... warning: git-credential-manager-core was renamed to git-credential-manager warning: see https://aka.ms/gcm/rename for more information remote: Enumerating objects: 159097, done. remote: Counting objects: 100% (159097/159097), done. remote: Compressing objects: 100% (123205/123205), done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining fetch-pack: unexpected disconnect while reading sideband packet fatal: early EOF fatal: fetch-pack: invalid index-pack output
已尝试调整全局Git配置:
git config --global http.postBuffer 2147483648 git config --global core.compression -1 git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 999999
但克隆仍然失败。
可行解决方案
1. 切换到SSH协议克隆
HTTPS协议在传输大仓库时更容易出现网络中断问题,改用SSH协议稳定性更好(需提前配置GitHub SSH密钥):
git clone --depth 1 -b release git@github.com:EpicGames/UnrealEngine.git
2. 分阶段浅克隆逐步拉取
先克隆最小深度,再逐步加深拉取范围,降低单次传输的数据量:
# 初始浅克隆 git clone --depth 1 -b release https://github.com/EpicGames/UnrealEngine.git cd UnrealEngine # 逐步增加深度拉取 git fetch --depth 100 git fetch --depth 1000 # 最终拉取完整仓库 git fetch --unshallow
3. 优化网络环境
- 改用有线网络连接,避免无线信号不稳定
- 关闭VPN、代理工具,防止网络拦截
- 更换公共DNS(如1.1.1.1或8.8.8.8),提升域名解析稳定性
4. 重置Git配置并简化优化
过度修改的配置可能引发冲突,先重置到默认值,再仅保留必要优化:
# 重置之前修改的全局配置 git config --global --unset http.postBuffer git config --global --unset core.compression git config --global --unset http.lowSpeedLimit git config --global --unset http.lowSpeedTime # 仅禁用压缩,减少传输压力 git config --global core.compression 0
之后重新尝试克隆。
5. 使用Git部分克隆功能
通过--filter=blob:none仅克隆仓库元数据,避免一次性传输大文件,之后按需拉取:
git clone --filter=blob:none --depth 1 -b release https://github.com/EpicGames/UnrealEngine.git cd UnrealEngine # 拉取所有大文件 git fetch --unshallow
内容的提问来源于stack exchange,提问作者lingchen
相关产品推荐
相关产品推荐

