'You do not have access to the app' 尝试访问 heroku 控制台时
'You do not have access to the app' when trying to access heroku console
我最近开始在 Rails 上使用 Ruby 在 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 支持,但我希望有类似问题的人可以同时帮助我。
谢谢!
这是因为您的 ssh 密钥不再被允许访问。确保您的 ssh 密钥相同。您还可以生成您的 ssh 密钥并将其添加到 heroku。
以防万一有人遇到类似问题,这是因为我将 Heroku 应用程序的名称与 git 遥控器的名称混合在一起。因此,当我调用 --app staging(我的遥控器的名称)时,我应该使用 Heroku 中的应用程序的实际名称。
当您没有添加 heroku git 远程存储库时也会发生这种情况。
您可以使用以下命令添加它:
git remote add heroku https://git.heroku.com/<your project>.git
您也可以输入
heroku git:remote -a AppName
在第一次使用 Heroku toolbelt 命令之前,请务必 运行 heroku login
。它不会告诉你你之前没有登录过。
您还可以运行:
heroku run rake test --remote staging
不确定幕后发生了什么,但本地 CLI 工具会根据您的 git 遥控器确定您指的是哪个应用程序。
我遇到了同样的问题,我不是从 master 那里推送的,所以我不得不使用这个:
git 推送 heroku :main
我遇到了同样的问题,因为我在 heroku 上创建了多个遥控器(例如,一个名为“staging”的遥控器用于 staging,默认的遥控器“heroku”用于 prod)。
解决方案
使用这两个选项让 heroku 知道您指的是哪个应用程序和远程:
-a your_app_name
,以及
--remote name_of_remote
例子
例如,对于名为 staging 的远程:
heroku run env -a your_app_name --remote staging
或者像这样的生产遥控器:
heroku run env -a your_app_name --remote heroku
额外信息
上面的代码 运行 是简单的命令 env
,但您可以将其替换为您想要在 heroku 上 运行 的任何命令。
替换遥控器的名称。默认情况下,heroku 创建一个名为 heroku
的远程,这通常是生产远程。您可以使用以下命令获取遥控器:git remote
.
我最近开始在 Rails 上使用 Ruby 在 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 支持,但我希望有类似问题的人可以同时帮助我。
谢谢!
这是因为您的 ssh 密钥不再被允许访问。确保您的 ssh 密钥相同。您还可以生成您的 ssh 密钥并将其添加到 heroku。
以防万一有人遇到类似问题,这是因为我将 Heroku 应用程序的名称与 git 遥控器的名称混合在一起。因此,当我调用 --app staging(我的遥控器的名称)时,我应该使用 Heroku 中的应用程序的实际名称。
当您没有添加 heroku git 远程存储库时也会发生这种情况。
您可以使用以下命令添加它:
git remote add heroku https://git.heroku.com/<your project>.git
您也可以输入
heroku git:remote -a AppName
在第一次使用 Heroku toolbelt 命令之前,请务必 运行 heroku login
。它不会告诉你你之前没有登录过。
您还可以运行:
heroku run rake test --remote staging
不确定幕后发生了什么,但本地 CLI 工具会根据您的 git 遥控器确定您指的是哪个应用程序。
我遇到了同样的问题,我不是从 master 那里推送的,所以我不得不使用这个: git 推送 heroku :main
我遇到了同样的问题,因为我在 heroku 上创建了多个遥控器(例如,一个名为“staging”的遥控器用于 staging,默认的遥控器“heroku”用于 prod)。
解决方案
使用这两个选项让 heroku 知道您指的是哪个应用程序和远程:
-a your_app_name
,以及--remote name_of_remote
例子
例如,对于名为 staging 的远程:
heroku run env -a your_app_name --remote staging
或者像这样的生产遥控器:
heroku run env -a your_app_name --remote heroku
额外信息
上面的代码 运行 是简单的命令 env
,但您可以将其替换为您想要在 heroku 上 运行 的任何命令。
替换遥控器的名称。默认情况下,heroku 创建一个名为 heroku
的远程,这通常是生产远程。您可以使用以下命令获取遥控器:git remote
.