【问题标题】:How do I provision the mLab add-on for my Heroku review app?如何为我的 Heroku 评论应用配置 mLab 插件?
【发布时间】:2019-09-10 21:42:57
【问题描述】:

我的 Heroku 评论应用找不到 MONGODB_URI 环境变量,我希望 mLab 插件按照 the documentation 自动提供该环境变量。我的应用程序有一个app.json,它将mongolab 指定为一个附加组件并且是一个Node 应用程序,所以我尝试通过process.env.MONGODB_URI 访问该变量,但它是undefined

我尝试运行heroku addons:open mongolab -a my-app-pr-17 来查看已配置的数据库,但我收到消息“找不到该插件”

Heroku 仪表板中评论应用的资源选项卡显示消息“此应用没有插件”

运行heroku config -a my-app-pr-17 显示一个空列表。

这是我的app.json 文件。

{
  "name": "my-app",
  "addons": [
    "mongolab"
  ],
  "buildpacks": [
    {
      "url": "heroku/nodejs"
    }
  ]
}

我希望在我的节点代码中 process.env.MONGODB_URI 是一个 URI,其用户名和密码如 the documentation 中所述。

【问题讨论】:

    标签: node.js heroku mlab


    【解决方案1】:

    问题在于 app.json 仅在首次创建评论应用时才被读取。在同一评论应用的后续部署中不支持对 app.json 文件的更新。

    在我的例子中,我连接了 GitHub,打开了一个创建评论应用程序的拉取请求,然后推送进一步的提交以更新 app.json 并添加 mongolab 插件。当这些进一步的提交没有为我创建附加组件时,我感到很困惑,但是 Heroku 不会在应用程序的整个生命周期内同步更改。

    创建一个新的 PR 创建了一个新的评论应用程序,它按照我的预期自动配置了 mongolab 插件。我手动将插件添加到现有的评论应用中以继续使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-26
      • 2012-10-30
      • 2018-04-08
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      相关资源
      最近更新 更多