我尝试在 github 页面上更新我的 React 应用程序,但是我无法运行命令“npm run deploy”。我克隆了我的存储库,做了一些更改,然后将它们推送到我的主分支。一切都很好。然后,当尝试在 GH 页面中使用“运行部署”时,它会给我一个“[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取。”。但是,我的 .ssh 密钥工作正常(我能够将更改推送到我的主分支,没有任何问题)。 我在这里缺少什么才能让它发挥作用?
我尝试使用我的 .ssh 密钥对 github 进行身份验证,没有出现任何问题。我也没有问题将更改推送到我的主分支。
此问题的一些可能原因:
gh-pages
分支。gh-pages
分支不存在,如果存储库没有任何 GitHub Pages 分支,则在将 GitHub Pages 构建推送到该分支之前,GitHub 不会创建分支。gh-pages
分支存在问题,例如被删除或有未提交的更改。这可能会导致推送到分支时出现问题。您可以尝试以下步骤来解决此问题:
gh-pages
分支是否存在经过一番折腾,我找到了解决问题的方法。
我不知道为什么它会起作用。我假设从 CLI 克隆时存在一些问题,但我不确定它们到底是什么。
我也有同样的问题。我有一个解决方案。它涉及手动解决方法,而不是使用
npm deploy
。
在命令行中生成 React 应用程序的生产版本:
npm run build
初始化一个新的 git 存储库,添加并提交:
git init
git add .
git commit -m "An informative message"
创建一个新分支进行部署。这是一个很好的做法。保持主干干净:
git checkout -b <your-deployment-branch>
cd 到步骤 1 中创建的“build”目录:
cd build
现在您已位于构建目录中,初始化另一个新的 git 存储库:
git init
使用 ssh-url 添加远程 GitHub 存储库:
git remote add origin [email protected]:your-git-user-name/your-repo-name.git
添加并提交您所做的更改:
git add .
git commit -m "An informative message"
将您所做的更改推送到您在步骤 3 中所做的分支:
git push origin <your-deployment-branch>
快到了!我们已经完成了命令行。现在是时候访问您的 GitHub 存储库设置了。
导航至网页左侧菜单“代码和自动化”下的“页面”。
向下滚动到“分支”。单击左侧可能显示“main”的下拉菜单。选择您在步骤 3 中创建的部署分支。
点击“保存”。
尤里卡!您的 React 应用程序现已部署在 GitHub 页面上。它需要一分钟才能在部署下注册。
这是否解决了
[email protected]: Permission denied (publickey). fatal: Could not read from remote repository.
的根本问题?不,不是的。我将在 Stack Overflow 上发布有关如何解决该问题的问题。我将提及我为尝试解决该问题而采取的步骤。我还将参考我在这里发布的解决方案。
我希望这可以帮助人们尝试部署他们的 React 应用程序!