【问题标题】:How does `heroku config` know what app to use?`heroku config` 如何知道要使用什么应用程序?
【发布时间】:2018-10-16 08:29:54
【问题描述】:

这是一个关于 Heroku CLI 的问题。

当我在本地文件夹中为已在服务器上的给定应用程序运行此命令时:

heroku config

我得到了我的环境变量设置列表。

但是如果我从另一个同名文件夹运行相同的命令,它就不再起作用了。

这表明本地文件夹的名称不足以让heroku config知道我在考虑哪个应用程序。

heroku config如何知道在服务器上查询哪个应用?

【问题讨论】:

    标签: heroku heroku-toolbelt


    【解决方案1】:

    默认情况下,Heroku infers the app from your Git remotes:

    应用程序命令通常在应用程序的本地 git 克隆中执行。通过扫描当前工作副本的 git 遥控器自动检测应用名称,因此您不必明确指定要操作哪个应用。

    你也可以明确告诉它使用什么应用:

    如果您有多个 Heroku 遥控器或想要在本地工作副本之外执行应用命令,您可以指定远程名称或显式应用名称,如下所示:

    heroku apps:info --app example
    
    heroku apps:info --remote production
    

    或者通过环境变量:

    或者,可以通过设置HEROKU_APP 环境变量来指定应用名称。

    【讨论】:

    • 感谢您的回复。但这实际上并没有告诉我我想知道什么。问题是“它如何从 Git 遥控器中推断出……?”。就我的帖子而言,它在一种情况下有效,在另一种情况下无效。为什么?是否有一些特定的文件或某些东西有所作为?
    • @Michel,您的问题是,“本地文件夹的名称不足以让heroku config 知道我在考虑哪个应用程序”。它没有说明 Git 遥控器。无论如何,我不确定我的回答有什么不清楚的地方。 Heroku CLI 检查您的 Git 远程,寻找指向 Heroku Git 存储库的远程(类似于https://git.heroku.com/some-app.git)。如果它恰好找到一个这样的遥控器,它就会使用它。
    • 好的。我看到它检查了我的 Git 遥控器(正如你所指出的)。但是您如何解释当我从一个文件夹运行命令而不是从另一个文件夹运行命令时它找到了一些东西。我只能认为有一个本地元素为 CLI 提供了一些线索。这就是我试图弄清楚的......除非这个元素正是你所指的 https://...git ?如果是这样的话。这是在哪里?
    • "但是你怎么解释当我从一个文件夹运行命令而不是从另一个文件夹运行命令时它找到了一些东西。我只能认为有一个本地元素提供了一些线索到 CLI。” Git 遥控器 本地元素。它们是按存储库配置的。尝试在每个文件夹中运行 git remote -v。配置的遥控器保存在存储库的.git/config 文件中。
    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 2017-05-07
    • 2016-07-11
    • 1970-01-01
    • 2022-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多