javascript - 部署到 Heroku 时找不到 mongoDB 模块
问题描述
当我将 node.js 服务器部署到 Heroku 时,它会引发以下错误:
2018-12-27T10:10:28.370131+00:00 app[web.1]:错误:找不到模块 './lib/utils' 2018-12-27T10:10:28.370137+00:00 app[web.1 ]: 在 Function.Module._resolveFilename (module.js:538:15) 2018-12-27T10:10:28.370139+00:00 app[web.1]: 在 Function.Module._load (module.js:468: 25) 2018-12-27T10:10:28.370141+00:00 app[web.1]: 在 Module.require (module.js:587:17) 2018-12-27T10:10:28.370142+00:00 app[ web.1]:在要求(内部/module.js:11:18)2018-12-27T10:10:28.370145+00:00 app[web.1]:在对象。(/app/node_modules/mongodb-core/index.js:5:15) 2018-12-27T10:10:28.370146+00:00 app[web.1]: 在 Module._compile (module.js:643:30 ) 2018-12-27T10:10:28.370148+00:00 app[web.1]: 在 Object.Module._extensions..js (module.js:654:10) 2018-12-27T10:10:28.370149+00 :00 应用程序 [web.1]: 在 Module.load (module.js:556:32) 2018-12-27T10:10:28。
我的 node.js 服务器在本地完全运行,并且保存到数据库没有任何问题。使用我当前的 package.json 在本地运行npm install
确实会在节点模块的 /lib 下创建一个 utils.js 文件。heroku local web
构建就好了。
我一次又一次地重新启动我的 package.json ,但没有成功。
当前 package.json 如下:
{
"name": "temperature_web_app",
"version": "1.0.0",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"author": "Simon Rosengren",
"license": "ISC",
"dependencies": {
"body-parser": "^1.18.3",
"express": "^4.16.4",
"mongodb": "^3.1.10",
"mqtt": "^2.18.8"
},
"engines": {
"node": "8.9.4"
}
}
解决方案
推送到 heroku master 时不忽略 node_modules 文件夹似乎是问题所在。
删除 node_modules 文件夹然后推送到 master 就可以了。
推荐阅读
- swift - Swift Combine - 等待所有发布者
- python - Python Matplot 动画嵌入 Tkinter
- excel - 跨两个工作表的多个标准匹配/索引 VBA
- node.js - Nodejs-在解构时操作属性
- java - 休眠搜索:无法对动态映射的字段文本字段进行通配符搜索
- pandas - Create category column based on data from another column
- tensorflow - Keras 风格的无损三元组损失
- python - kivy - 自我未定义
- matlab - 在matlab中,是否可以将在文件夹中组织的类的方法放在子目录/子文件夹中?
- python - 在python 3中处理mysql结果