Node.js 如何为我的Heroku review应用程序配置mLab附加组件?
我的Heroku review应用程序找不到Node.js 如何为我的Heroku review应用程序配置mLab附加组件?,node.js,heroku,mlab,Node.js,Heroku,Mlab,我的Heroku review应用程序找不到MONGODB_URI环境变量,我希望mLab加载项根据自动提供该变量。我的应用程序有一个app.json,它将mongolab指定为一个附加组件,并且是一个节点应用程序,因此我尝试通过process.env.MONGODB_URI访问变量,但它是未定义的 我试着运行heroku插件:open mongolab-a my-app-pr-17查看已配置的数据库,但我收到消息“找不到该插件” Heroku仪表板中review应用程序的资源选项卡显示消息“此
MONGODB_URI
环境变量,我希望mLab加载项根据自动提供该变量。我的应用程序有一个app.json
,它将mongolab
指定为一个附加组件,并且是一个节点应用程序,因此我尝试通过process.env.MONGODB_URI
访问变量,但它是未定义的
我试着运行heroku插件:open mongolab-a my-app-pr-17查看已配置的数据库,但我收到消息“找不到该插件”
Heroku仪表板中review应用程序的资源选项卡显示消息“此应用程序没有附加组件”
运行heroku配置-a my-app-pr-17
会显示一个空列表
这是我的app.json
文件
{
"name": "my-app",
"addons": [
"mongolab"
],
"buildpacks": [
{
"url": "heroku/nodejs"
}
]
}
我希望在我的节点代码进程中.env.MONGODB_URI
是一个URI,其用户名和密码如中所述。问题是app.json
仅在首次创建review app时读取。在同一个review应用程序的后续部署中,不接受对app.json
文件的更新
在我的例子中,我连接了GitHub,打开了一个pull请求,该请求创建了一个review应用程序,然后进一步推动提交以更新app.json
,并添加mongolab插件。当这些进一步的提交没有为我创建附加组件时,我感到困惑,但是Heroku在应用程序的整个生命周期中都没有同步更改
创建一个新的PR创建了一个新的review应用程序,它按照我的预期自动配置了mongolab附加组件。我手动将该插件添加到现有的review应用程序中,以继续使用它