【自己已解决,经验分享】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吗,我们选择我们刚刚设置的,之后他会自动的将这个可以绑定到你相应的项目账户中。
####上面也是我自己摸索搜索得到的解决方案。希望对需要的朋友们有所帮助
【自己已解决,经验分享】Node.js项目修改后提交到Heroku出现问题
昨天写了一个简单的实例代码,用于微信的验证。匆忙中完成了提交,今天我又增添了一些新的功能,例如自动搜索并返回结果,类似于一个小型的百科全书。编写代码本身并没有遇到太多问题,但在第二次部署时遇到了一些棘手的问题。
具体情况
昨天发布时,使用的是之前从GitHub获取的SSH密钥,路径为 C:\Users\\.NET-Smart\\.ssh\github_rsa
。当我第一次提交时,确实遇到了权限被拒绝(permission denied)的问题。在论坛里找到了类似的问题,但具体解决方法对我来说还是不太清楚。
如何解决我出现的问题
解决这个问题的关键在于清理现有的SSH密钥,并生成一个新的密钥。以下是详细的步骤:
-
清理现有的SSH密钥:
heroku keys:clear
-
生成新的SSH密钥:
ssh-keygen -t rsa
在执行上述命令时,系统会提示你输入保存密钥的位置和密码。你可以直接按回车键使用默认位置(即
~/.ssh/id_rsa
),也可以设置一个容易记住的密码,例如123456
。 -
添加新的SSH密钥到Heroku:
heroku keys:add
-
重新推送代码到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密钥配置不正确或与之前的配置冲突导致的。你已经找到了一个解决方案,以下是详细的解决步骤和一些额外的建议:
如何解决权限问题
-
清理现有的SSH密钥
heroku keys:clear
-
生成新的SSH密钥
ssh-keygen -t rsa
在执行这个命令时,系统可能会提示你输入文件保存位置(默认为
~/.ssh/id_rsa
)以及密码(可选)。你可以直接按回车使用默认设置。 -
添加新的SSH密钥到Heroku
heroku keys:add
系统会自动识别并上传你刚刚生成的密钥。
-
推送代码到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
希望这些信息对你有帮助!