【自己已解决,经验分享】Nodejs项目修改后提交到heroku出现问题。

【自己已解决,经验分享】Nodejs项目修改后提交到heroku出现问题。

昨天写了个实例代码也就是微信的验证。匆匆忙忙的提交了,今天完善了下,增添了自动搜索功能并且把结果返回给用户,也就是相当于百科全书的作用,敲代码没出现什么蛋疼的事,第二次部署时,蛋疼事就出现了。
就是那个什么 permission denied! 之类的,我也在本论坛找到类似的帖子。但是我这边是一头雾水啊。

####具体情况

昨天发布时用的什么 SSH,key 啥的都是以前的 GitHub 提供的在 C:\Users\\.NET-Smart\\.ssh\github_rsa.在我第一次提交时,出现过上面说的情况,但是看了论坛里的 Node 入门的 Wiki 的最后几篇中的部署文章,我也是按照上面搞的。什么 confing 文件之类的。最后部署成功。今儿改了代码提交也是按照这样写了

git init
git add .
git commit -m "init"
git push heroku master  

####如何解决我出现的问题

首先这个ssh key这个东西是原本github留下来的,如果你在 git里面通过命令行的方式添加key会有这么个意思就是说:它已经在本地找到key了,并且会自动上传。我是如何解决的的?我在stackoverflow上找到这么一个解决方案

heroku keys:clear //removes existing keys
ssh-keygen -t rsa //generates a new key in ~/.ssh folder (set a password)
heroku keys:add   //uploads the new key, ~/.ssh/id_rsa is uploaded                      
git push heroku master

步骤就是先移除存在的key,然后添加一个新key,这时你要键入你记得住的密码,比如:123456。然后更新。此时你键入

git push heroku master时会出现选择,因为有两个key吗,我们选择我们刚刚设置的,之后他会自动的将这个可以绑定到你相应的项目账户中。

####上面也是我自己摸索搜索得到的解决方案。希望对需要的朋友们有所帮助


6 回复

【自己已解决,经验分享】Node.js项目修改后提交到Heroku出现问题

昨天写了一个简单的实例代码,用于微信的验证。匆忙中完成了提交,今天我又增添了一些新的功能,例如自动搜索并返回结果,类似于一个小型的百科全书。编写代码本身并没有遇到太多问题,但在第二次部署时遇到了一些棘手的问题。

具体情况

昨天发布时,使用的是之前从GitHub获取的SSH密钥,路径为 C:\Users\\.NET-Smart\\.ssh\github_rsa。当我第一次提交时,确实遇到了权限被拒绝(permission denied)的问题。在论坛里找到了类似的问题,但具体解决方法对我来说还是不太清楚。

如何解决我出现的问题

解决这个问题的关键在于清理现有的SSH密钥,并生成一个新的密钥。以下是详细的步骤:

  1. 清理现有的SSH密钥

    heroku keys:clear
    
  2. 生成新的SSH密钥

    ssh-keygen -t rsa
    

    在执行上述命令时,系统会提示你输入保存密钥的位置和密码。你可以直接按回车键使用默认位置(即 ~/.ssh/id_rsa),也可以设置一个容易记住的密码,例如 123456

  3. 添加新的SSH密钥到Heroku

    heroku keys:add
    
  4. 重新推送代码到Heroku

    git push heroku master
    

当你再次执行 git push heroku master 命令时,Heroku会提示你选择使用的SSH密钥。由于你刚刚生成了一个新的密钥,因此你应该选择这个新的密钥。Heroku会自动将这个密钥绑定到你的项目账户中。

总结

以上是我自己摸索和搜索得到的解决方案。希望这个过程能够帮助那些遇到相同问题的朋友。如果有任何疑问,欢迎在评论区留言交流。


通过这些步骤,你可以确保你的SSH密钥是最新的,并且正确地与Heroku进行了绑定。这将有助于避免在后续的部署过程中再次遇到权限被拒绝的问题。


#####注:第一次提交成功后,heroku官网给我一个ssh key之类的秘钥。不知道本地的是否与这个给的产生了冲突?:(

你当然要用heroku提供的SSH KEY, 怎么可以把github的KEY用到heroku呢?

需要添加一个SSH Key 格式: keys:add <path-to-your-public-key>. example: heroku keys:add ~/.ssh/id_rsa.pub

恩,感谢你的帮助,我已经在stackoverflow上找到解决的办法,并且解决了。:)

根据你的描述,你遇到了在向Heroku部署Node.js项目时遇到的权限问题。这种情况通常是因为SSH密钥配置不正确或与之前的配置冲突导致的。你已经找到了一个解决方案,以下是详细的解决步骤和一些额外的建议:

如何解决权限问题

  1. 清理现有的SSH密钥

    heroku keys:clear
    
  2. 生成新的SSH密钥

    ssh-keygen -t rsa
    

    在执行这个命令时,系统可能会提示你输入文件保存位置(默认为~/.ssh/id_rsa)以及密码(可选)。你可以直接按回车使用默认设置。

  3. 添加新的SSH密钥到Heroku

    heroku keys:add
    

    系统会自动识别并上传你刚刚生成的密钥。

  4. 推送代码到Heroku

    git push heroku master
    

额外建议

  • 检查SSH密钥是否已正确上传:你可以通过以下命令检查:

    heroku keys
    

    这条命令会列出所有已上传到Heroku的SSH密钥。

  • 确保git remote设置正确

    git remote -v
    

    如果看到的是GitHub或其他仓库的信息,确保你的Heroku远程仓库也正确配置。如果不是,可以通过以下命令添加Heroku远程仓库:

    heroku git:remote -a your-heroku-app-name
    

通过以上步骤,你应该能够顺利地将你的Node.js项目部署到Heroku上。如果仍然遇到问题,确保查看Heroku的日志以获取更多细节:

heroku logs --tail

希望这些信息对你有帮助!

回到顶部