node.js - 如何为我的 Heroku 评论应用配置 mLab 插件?
问题描述
我的 Heroku 审查应用程序没有找到MONGODB_URI
我期望 mLab 插件根据文档自动提供的环境变量。我的应用程序有一个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,如文档中所述。
解决方案
问题app.json
是只有在第一次创建评论应用程序时才会读取。app.json
在同一审查应用程序的后续部署中不支持对文件的更新。
在我的例子中,我连接了 GitHub,打开了一个创建评论应用程序的拉取请求,然后推送进一步的提交以更新app.json
和添加mongolab附加组件。当这些进一步的提交没有为我创建附加组件时,我感到很困惑,但是 Heroku 并没有在应用程序的整个生命周期内同步更改。
创建一个新的 PR 创建了一个新的评论应用程序,它按照我的预期自动配置了 mongolab 插件。我手动将插件添加到现有的评论应用程序以继续使用它。
推荐阅读
- python - 为时间分配白天或夜晚
- r - 来自不同文件的增量行子集
- javascript - Node.js module.export 与导出缓存
- java - 在java中调用Controller时如何更改主机地址
- javascript - 使 PHP 例程的 AJAX 发布请求到本地文件
- python - ValueError:DataFrame 的真值对于条件 if 语句不明确
- javascript - 是否有“NPM Run Start”找不到应用程序无法启动服务器的原因?
- python - 为什么 print(2 == 2.) 在 Python 中返回 True
- rpa - 如何解决打开浏览器:列“列名”不属于表DataTable。在 UIPath
- google-apps-script - 脚本帮助移动单元格值