我最近开始使用Ruby on Rails在Heroku上合作一个项目。我被添加为一个合作者,并将远程添加到我的环境中。经过一些开发,我推动了一些更改,没有出现任何问题:
$ 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 Jmeter 板,看到我的推送记录在那里。然后我试图使用控制台查看日志,同样的问题发生了。
$ 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支持,但我希望有类似问题的人可以同时帮助我。
谢谢你!
8条答案
按热度按时间mnemlml81#
如果有人遇到类似的问题,这是因为我把我的Heroku Apps的名字和我的git remote的名字混在一起了。所以当我调用--app staging(我的remote的名字)时,我应该使用应用的实际名字,就像在Heroku中找到的那样。
qni6mghb2#
第一次使用Heroku toolbelt命令之前,请确保运行
heroku login
。它不会告诉您以前没有登录过。gk7wooem3#
当你还没有添加heroku git远程仓库时,也会发生这种情况。
您可以使用以下命令添加它:
您也可以键入
w9apscun4#
我遇到了同样的问题,因为我在Heroku上创建了多个远程(例如,一个名为“staging”的远程用于staging,默认的远程“heroku”用于prod)。
溶液
使用这两个选项让heroku知道您指的是哪个应用程序和遥控器:
-a your_app_name
,以及--remote name_of_remote
个示例
例如,对于称为分段的远程:
或者对于生产远程设备如下所示:
额外信息
上面的代码运行简单的命令
env
,但是您可以将其替换为您希望在heroku上运行的任何命令。替换远程控制器的名称。默认情况下,heroku创建一个名为
heroku
的远程控制器,它通常是生产远程控制器。您可以使用以下命令获取远程控制器:git remote
.zpqajqem5#
这是因为您的ssh密钥不再允许访问。请确保您的ssh密钥是相同的。您也可以重新生成ssh密钥并将其添加到heroku。
mgdq6dx16#
您也可以执行:
不确定引擎盖下会发生什么,但本地CLI工具会根据您的git remote计算出您所指的应用程序。
mfuanj7w7#
我有同样的问题,在我的情况下,我不是从主推,所以我不得不使用这个:git push heroku:主菜单
ghg1uchk8#
我也遇到了同样的问题。这是因为我没有登录Heroku。首先我输入:
heroku login
然后输入:heroku git:remote -a restserver-node-jngs
而且它能工作。我希望这对某人有帮助。