我最近开始使用Ruby on Rails在Heroku上的一个项目中进行合作。我被添加为协作者并将远程添加到我的环境中。经过一些开发,我推动了一些改变,没有任何问题:
$ git push staging
staging是我的遥控器的名称。 后来,当试图在Heroku上运行“rake test”时,我收到了一个错误:
$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工具箱安装,并使用“heroku auth”验证我的电子邮件是否显示,但错误仍然存在。我目前正在联系Heroku支持,但我希望有类似问题的人可以帮助我并行。
谢谢!
答案 0 :(得分:36)
所以,如果有人遇到类似的问题,就会发生这种情况,因为我正在将我的Heroku应用程序的名称与我的git遥控器的名称混合在一起。因此,当我调用--app staging(我的远程名称)时,我应该使用应用程序的实际名称,如Heroku中所示。
答案 1 :(得分:12)
首次使用Heroku toolbelt命令之前,请务必运行heroku login
。它不会告诉您之前没有登录过。
答案 2 :(得分:6)
当您还没有添加heroku git远程存储库时,也会发生这种情况。
您可以使用以下命令添加它:
git remote add heroku https://git.heroku.com/<your project>.git
您也可以输入
heroku git:remote -a AppName
答案 3 :(得分:0)
这是因为您的ssh密钥不再被授权访问。确保您的ssh密钥相同。您还可以重新生成ssh密钥并将其添加到heroku。
答案 4 :(得分:0)
您还可以运行:
heroku run rake test --remote staging
不知道底层会发生什么,但在本地,CLI工具根据您的git遥控器确定您的意思。
答案 5 :(得分:0)
在我的情况下,我遇到了同样的问题,因为我不是从主人那里推过来的,所以我不得不使用它: git push heroku:main
答案 6 :(得分:0)
我几次发现自己又回到了这个问题/答案。所以我想我会记下导致它的原因以及我如何修复它。
就我而言,我为应用程序创建了一个临时环境。
现在heroku需要这样的东西来登台:
heroku run env -a my_app_name --remote staging
或者像这样用于生产:
heroku run env -a my_app_name --remote production
(只需将 env
替换为您正在运行的任何命令)