npm run deploy部署GitHub Pages报403及gh-pages分支已存在问题求助
问题根因
你遇到的错误由三个独立问题叠加导致:
- 修改仓库名后,本地项目绑定的远程仓库地址没有同步更新
- GitHub在2021年8月13日正式停用了HTTPS方式的密码验证,所有Git操作需要使用个人访问令牌或SSH验证
- 本地残留了旧的gh-pages分支和缓存文件,导致deploy脚本执行冲突
分步解决方案
- 第一步:清理本地gh-pages残留
依次执行以下命令,删除本地冲突的分支和缓存:git branch -D gh-pages rm -rf node_modules/.cache/gh-pages - 第二步:修复身份验证与远程地址配置,二选一即可:
方案1:使用个人访问令牌(PAT)搭配HTTPS(适合临时使用)
前往GitHub账号设置的开发者设置页面生成PAT,勾选repo类全部权限,再执行以下命令更新远程地址:git remote set-url origin https://<你的PAT>@github.com/<你的用户名>/<你的新仓库名>.git
方案2:使用SSH验证(适合长期使用,无需频繁输入凭证)
先在本地生成SSH密钥,将公钥上传到GitHub账号的SSH密钥列表,再执行以下命令切换远程地址为SSH格式:git remote set-url origin git@github.com:<你的用户名>/<你的新仓库名>.git - 第三步:更新项目配置
打开项目根目录的package.json文件,修改顶部的homepage字段为你当前的站点地址:- 如果是<用户名>.github.io形式的根站点,配置为
"homepage": "https://<你的用户名>.github.io" - 如果是项目子站点,配置为
"homepage": "https://<你的用户名>.github.io/<你的新仓库名>"
- 如果是<用户名>.github.io形式的根站点,配置为
- 第四步:重装gh-pages依赖(可选,前面步骤执行后仍报错再操作)
执行以下命令重新安装部署依赖,避免版本兼容问题:npm uninstall gh-pages npm install gh-pages --save-dev - 第五步:执行部署
按你之前的正常流程执行部署即可:git add . git commit -m "fix: 调整部署配置" npm run deploy git push origin main
内容的提问来源于stack exchange,提问作者Yam
相关产品推荐
相关产品推荐

