3

我不断收到此错误:“错误:在 Heroku 上找不到模块‘模型’”。我正在使用 Node.JS。我正在使用这个 Node.JS 项目

由于篇幅原因,我从 Heroku 复制了日志并将它们放在一个要点中。

这是一段摘录:

2013-08-27T12:56:27.792568+00:00 app[web.1]: module.js:340
2013-08-27T12:56:27.791930+00:00 app[web.1]: 
2013-08-27T12:56:27.792873+00:00 app[web.1]:     throw err;
2013-08-27T12:56:27.792873+00:00 app[web.1]:           ^
2013-08-27T12:56:27.794658+00:00 app[web.1]:     at Function.Module._load (module.js:280:25)
2013-08-27T12:56:27.794658+00:00 app[web.1]: Error: Cannot find module 'models'

我在 Heroku 上设置了我的配置并设置了 mongolab mongodb,并且设置了 config val MONGO_URL 并且 NODE_ENV 设置为生产。

您可以在此处找到该站点。

有谁知道发生了什么?感谢您的帮助!

4

3 回答 3

13

您需要设置NODE_PATH=lib为 heroku 的配置变量。

NODE_PATH告诉节点在哪里可以找到除node_modules目录之外的模块。

此外,您需要告诉应用程序读取生产环境中的环境变量。

所以...

$ heroku config:set NODE_ENV=production
$ heroku config:set NODE_PATH=lib

无需为 heroku 部署修改任何文件。

于 2013-08-28T18:32:53.527 回答
0

您的 package.json 的“依赖项”属性中缺少“模型”。(我检查了 github 存储库)。

编辑:抱歉,看起来您正在尝试使用 /lib/models/ 文件夹下的模块。所以在这一行https://github.com/gravityonmars/nodejs-starter/blob/master/index.js#L20你可以这样做:

要求('./lib/models')(应用程序);

于 2013-08-28T15:08:03.633 回答
0

您只需要重新安装模型。

然后将您npm install models --save的应用重新部署到 Heroku。

这应该可以解决您的问题。

于 2018-08-02T20:34:50.610 回答