我有一个在本地运行良好的nodejs应用程序。它使用 mongodb。我想将其推送到 Heroku,所以我安装了 mongolab 插件,“heroku addons:open mongolab” 并像这样更新了 datasources.json 文件;
{
"db": {
"name": "db",
"url": "mongodb://<user:<pwd>@ds037252.mongolab.com:37252/heroku_app37281512",
"connector": "mongodb"
}
}
当我将其推送到heroku时,它在启动时失败,并显示以下内容;
2015-05-29T04:25:39.953257+00:00 heroku[web.2]: Starting process with command
node tk/server/server.js
2015-05-29T04:25:41.167153+00:00 app[web.2]: Detected 512 MB available memory, 512 MB limit per process (WEB_MEMORY) 2015-05-29T04:25:41.167177+00:00 app[web.2]: Recommending WEB_CONCURRENCY=1 2015-05-29T04:25:42.158058+00:00 app[web.2]: 2015-05-29T04:25:42.158064+00:00 app[web.2]: 2015-05-29T04:25:42.158063+00:00 app[web.2]: WARNING: LoopBack connector "mongodb" is not installed as any of the following modules: 2015-05-29T04:25:42.158066+00:00 app[web.2]: ./connectors/mongodb 2015-05-29T04:25:42.158068+00:00 app[web.2]: loopback-connector-mongodb 2015-05-29T04:25:42.158069+00:00 app[web.2]: 2015-05-29T04:25:42.158072+00:00 app[web.2]: 2015-05-29T04:25:42.158070+00:00 app[web.2]: To fix, run: 2015-05-29T04:25:42.158073+00:00 app[web.2]: npm install loopback-connector-mongodb
我该如何处理这个问题?我需要以某种方式修改 datasources.json 吗?
我使用的是 heroku 免费计划。也许它不包括 mongodb 访问?
提前致谢,瑞安
这是package.json;
{
"name": "tk",
"version": "1.0.0",
"main": "server/server.js",
"scripts": {
"pretest": "jshint ."
},
"dependencies": {
"compression": "^1.0.3",
"cors": "^2.5.2",
"errorhandler": "^1.1.1",
"loopback": "^2.14.0",
"loopback-boot": "^2.6.5",
"loopback-datasource-juggler": "^2.19.0",
"serve-favicon": "^2.0.1"
},
"optionalDependencies": {
"loopback-explorer": "^1.1.0"
},
"devDependencies": {
"jshint": "^2.5.6"
},
"repository": {
"type": "",
"url": ""
},
"description": "tk"
}
最佳答案
您的依赖项中缺少loopback-connector-mongodb
将 package.json 更改为(如果复制/粘贴,请删除我的评论!)
{
"name": "tk",
"version": "1.0.0",
"main": "server/server.js",
"scripts": {
"pretest": "jshint ."
},
"dependencies": {
"compression": "^1.0.3",
"cors": "^2.5.2",
"errorhandler": "^1.1.1",
"loopback": "^2.14.0",
"loopback-boot": "^2.6.5",
"loopback-datasource-juggler": "^2.19.0",
"loopback-connector-mongodb": "1.9.1", --note the addition of this line
"serve-favicon": "^2.0.1"
},
"optionalDependencies": {
"loopback-explorer": "^1.1.0"
},
"devDependencies": {
"jshint": "^2.5.6"
},
"repository": {
"type": "",
"url": ""
},
"description": "tk"
}
注意- 您还可以使用 npm install loopback-connector-mongodb --save - 这将在本地安装包,并将依赖项保存到 package.json
关于node.js - Heroku 上的 mongodb (mongolab)。 'LoopBack connector "mongodb“未安装”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521597/