You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署React应用到GitHub Pages时遇SSH权限拒绝错误求助

解决React部署GitHub Pages时npm run deploy SSH权限拒绝问题

排查步骤与解决方案

1. 替换deploy脚本的远程协议为HTTPS

如果你的package.json中deploy脚本依赖gh-pages包,它默认可能使用SSH协议访问仓库。尝试强制切换为HTTPS:

  • 修改package.json中的homepage字段为HTTPS格式:
    "homepage": "https://你的用户名.github.io/仓库名"
    
  • 运行deploy时指定HTTPS仓库地址:
    npm run deploy -- --repo https://github.com/你的用户名/仓库名.git
    

2. 确认本地SSH密钥已加载到代理

部分终端环境中SSH密钥未自动加载,导致脚本无法获取权限:

  • 检查已加载的密钥:
    ssh-add -l
    
  • 如果看不到目标密钥,手动加载(替换为你的密钥文件名):
    ssh-add ~/.ssh/id_rsa
    
  • 重新运行npm run deploy

3. 重置gh-pages依赖

依赖缓存或版本异常可能引发问题:

  • 删除依赖缓存与锁文件:
    rm -rf node_modules package-lock.json
    
  • 重新安装全部依赖:
    npm install
    
  • 重新安装gh-pages开发依赖:
    npm install gh-pages --save-dev
    

4. 手动部署排除脚本问题

通过手动操作验证仓库权限,排除脚本本身的问题:

  1. 构建项目:
    npm run build
    
  2. 创建并切换到gh-pages分支:
    git checkout -b gh-pages
    
  3. 将build目录内容复制到分支根目录,提交并推送:
    cp -r build/* .
    git add .
    git commit -m "Manual deploy"
    git push origin gh-pages
    
  4. 前往GitHub仓库「Settings」→「Pages」,确认源分支为gh-pages并保存设置。

5. 检查GitHub Pages仓库设置

  • 确认仓库的Pages功能已启用,且选择了正确的分支(通常为gh-pages)
  • 若为私有仓库,需确认已开通GitHub Pages付费权限

内容的提问来源于stack exchange,提问作者Taye Wayne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 11:27:09