首页 > 解决方案 > 部署到 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"
  }
}

标签: javascriptnode.jsmongodbheroku

解决方案


推送到 heroku master 时不忽略 node_modules 文件夹似乎是问题所在。

删除 node_modules 文件夹然后推送到 master 就可以了。


推荐阅读