Ruby on rails 尝试访问heroku控制台时,“您无权访问应用程序”
我最近开始使用RubyonRails在Heroku上的一个项目中进行合作。我被添加为合作者,并将远程设备添加到我的环境中。经过一些发展,我推动了一些变化,没有出现任何问题:Ruby on rails 尝试访问heroku控制台时,“您无权访问应用程序”,ruby-on-rails,heroku,collaboration,rails-console,rake-test,Ruby On Rails,Heroku,Collaboration,Rails Console,Rake Test,我最近开始使用RubyonRails在Heroku上的一个项目中进行合作。我被添加为合作者,并将远程设备添加到我的环境中。经过一些发展,我推动了一些变化,没有出现任何问题: $ git push staging 其中staging是我的远程服务器的名称。 后来,当我尝试在Heroku上运行rake测试时,我收到一个错误: $heroku run rake test --app staging Running `rake test` attached to terminal... failed
$ git push staging
其中staging是我的远程服务器的名称。
后来,当我尝试在Heroku上运行rake测试时,我收到一个错误:
$heroku run rake test --app staging
Running `rake test` attached to terminal... failed
! You do not have access to the app staging.
这很奇怪,因为我完全能够推动自己的改变。我检查了Heroku仪表板,发现我的推送记录在那里。然后我尝试使用控制台查看日志,同样的问题也出现了
$ heroku logs --app staging
! You do not have access to the app staging.
最后,我尝试访问控制台,但也失败了
$ heroku run rails console --app staging
Running `rails console` attached to terminal... failed
! You do not have access to the app staging.
此时,我更新了我的Heroku toolbelt安装,并使用Heroku auth验证我的电子邮件是否显示,但错误仍然存在。我目前正在联系Heroku支持部门,但我希望有类似问题的人能同时帮助我
谢谢 这是因为您的ssh密钥不再允许访问。确保您的ssh密钥相同。您还可以重新生成ssh密钥并将其添加到heroku。因此,万一有人遇到类似问题,就会出现这种情况,因为我将heroku应用程序的名称与git remotes的名称混用在一起。因此,当我调用-app暂存我的远程设备的名称时,我应该使用应用程序的实际名称,如Heroku中所示。如果您没有添加Heroku git远程存储库,也会发生这种情况 您可以使用以下命令添加它:
git remote add heroku https://git.heroku.com/<your project>.git
在第一次使用heroku toolbelt命令之前,请确保运行heroku登录。它不会告诉您以前没有登录。您还可以运行:
heroku run rake test --remote staging
不确定引擎盖下会发生什么,但本地CLI工具根据您的git remote确定您指的是哪个应用程序。在我的案例中,我遇到了相同的问题,我没有从master上推送,因此我不得不使用以下方法:
git push heroku:main我发现自己又回到了这个问题/答案上来了好几次。所以我想我应该记下是什么引起的以及我是如何修复的 原因 在我的例子中,我为应用程序创建了一个登台环境 解决方案 现在heroku需要这样的东西来进行登台: 或者像这样进行生产:
只要用您正在运行的任何命令替换env即可谢谢,这很有帮助。这是令人困惑的,因为如果您运行$heroku run bash时没有应用程序名称,它会警告您存在多个应用程序,然后列出git远程设备的名称。所以我一直在尝试选择一个使用远程名称的应用程序。我的案例与这个问题的问题条件略有不同,但你的回答对我很有帮助。谢谢你。我试过了,但也犯了同样的错误。您还有其他建议吗?对于在运行heroku登录之前意外运行heroku create的情况,是否有帮助?我不知道如何扭转这种局面。
heroku run rake test --remote staging
heroku run env -a my_app_name --remote staging
heroku run env -a my_app_name --remote production