将React应用部署至GitHub Pages时遇ProcessError: RPC failed错误求助
React应用部署GitHub Pages遇RPC failed(HTTP 400)错误的解决方法
问题详情
执行npm run deploy(内部调用gh-pages -d build)部署小型单页作品集React应用到GitHub Pages时失败,报错信息如下:
ProcessError: error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
Everything up-to-dateat ChildProcess.<anonymous> (/Users/tinujos/Learning/tinujosk.github.io/react-app/node_modules/gh-pages/lib/git.js:42:16) at ChildProcess.emit (node:events:514:28) at maybeClose (node:internal/child_process:1105:16) at ChildProcess._handle.onexit (node:internal/child_process:305:5)
已知前提:
- 可正常推送代码至main分支,排除远程仓库URL问题;
- 应用为小型单页作品集网站。
解决步骤
1. 增大Git HTTP推送缓存
该错误多因推送数据超出默认缓存限制导致,执行命令调整缓存:
git config --global http.postBuffer 524288000
之后重新执行npm run deploy。
2. 清除gh-pages本地缓存
删除gh-pages工具的缓存文件,避免缓存异常:
rm -rf node_modules/.cache/gh-pages/ npm run deploy
3. 手动部署到gh-pages分支
如果自动工具持续报错,改用手动操作:
- 创建并切换到gh-pages分支:
git checkout -b gh-pages - 清空分支内容:
git rm -rf . - 将build目录下的文件复制到当前分支根目录:
cp -r build/* . - 提交部署文件:
git add . && git commit -m "Deploy app to gh-pages" - 强制推送到远程gh-pages分支:
git push origin gh-pages --force - 切回主分支:
git checkout main
4. 检查GitHub Pages配置
登录GitHub仓库后台,进入Settings > Pages页面:
- 确认部署来源选择的是
gh-pages分支及根目录 - 若配置了自定义域名,检查域名解析及仓库配置是否正确
内容的提问来源于stack exchange,提问作者Tinu Jos K
相关产品推荐
相关产品推荐

