27

我最近开始在一个使用 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 toolbelt 安装,并使用“heroku auth”来验证我的电子邮件是否显示,但错误仍然存​​在。我目前正在联系 Heroku 支持,但我希望有类似问题的人可以同时帮助我。

谢谢!

4

7 回答 7

73

因此,以防万一有人遇到类似问题,这是因为我将 Heroku 应用程序的名称与 git 遥控器的名称混合在一起。因此,当我调用 --app staging(我的遥控器的名称)时,我应该使用应用程序的实际名称,如在 Heroku 中找到的那样。

于 2015-09-20T06:03:54.443 回答
20

heroku login在第一次使用 Heroku 工具带命令之前一定要运行。它不会告诉您您之前没有登录过。

于 2017-05-13T18:53:33.310 回答
9

当您没有添加 heroku git 远程存储库时,也会发生这种情况。

您可以使用以下命令添加它:

git remote add heroku https://git.heroku.com/<your project>.git

您也可以键入

heroku git:remote -a AppName
于 2016-04-13T18:47:54.113 回答
0

这是因为您的 ssh 密钥不再被允许访问。确保您的 ssh 密钥相同。您还可以重新生成 ssh 密钥并将其添加到 heroku。

于 2015-09-15T04:42:00.743 回答
0

您还可以运行:

heroku run rake test --remote staging

不确定幕后发生了什么,但本地 CLI 工具会根据您的 git 远程确定您指的是哪个应用程序。

于 2018-03-16T11:51:00.367 回答
0

在我的情况下,我遇到了同样的问题,我没有从 master 推送,所以我不得不使用它: git push heroku :main

于 2020-09-15T19:19:14.360 回答
0

我发现自己回到了这个问题/答案几次。所以我想我会记下它是什么原因造成的,以及我是如何修复它的。

原因

就我而言,我为应用程序创建了一个暂存环境。

解决方案

现在 heroku 需要这样的东西来暂存

heroku run env -a my_app_name --remote staging

或像这样用于生产

heroku run env -a my_app_name --remote production

(只需替换env您正在运行的任何命令)

于 2021-02-24T13:10:39.340 回答