拉取Chromium源码遇RPC/EOF错误及文件缺失问题求助
Chromium源码克隆失败:RPC错误与文件移动异常的解决办法
问题原因
- 核心问题:网络连接不稳定。Chromium源码体积超50GB,克隆过程中网络波动、Windows Schannel(TLS组件)异常、防火墙/代理拦截,导致服务器强制中断连接,触发
curl 56 schannel: server closed abruptly和early EOF错误。 - 次生问题:gclient自动清理逻辑误判。克隆失败后,gclient误以为存在冲突的
src目录,尝试移动该目录,但实际该目录未创建,引发FileNotFoundError。
解决步骤
1. 清理残留文件,重置环境
- 手动删除
H:\chromium下的所有临时目录:包括_gclient_src_asrq2c4s、_bad_scm等,确保目标目录完全干净。 - 配置git优化网络参数,修复Schannel问题:
(注意:git config --global http.postBuffer 524288000 git config --global http.sslBackend openssl git config --global http.sslVerify falsesslVerify false仅临时用于排查,克隆成功后建议改回true)
2. 改用分段克隆,降低中断概率
因为直接克隆完整仓库体积过大,容易中断,建议先浅克隆再拉取完整历史:
# 先浅克隆最新版本 git clone --depth 1 https://chromium.googlesource.com/chromium/src.git H:\chromium\src cd H:\chromium\src # 拉取完整历史记录 git fetch --unshallow
如果用gclient,先完成上述手动克隆,再执行:
gclient sync
3. 排查网络拦截
- 临时关闭Windows防火墙、第三方杀毒软件的网络防护功能,避免它们中断git的HTTPS连接。
- 若在公司网络,确认是否有代理限制,配置git代理(替换为你的代理地址):
git config --global http.proxy http://proxy-ip:port git config --global https.proxy http://proxy-ip:port
4. 避免gclient目录冲突误判
确保H:\chromium下没有src目录(如果之前有残留,手动删除干净),再重新执行克隆或gclient命令,防止gclient误触发目录移动逻辑。
内容的提问来源于stack exchange,提问作者Zack Hendricks
相关产品推荐
相关产品推荐

