我一直收到这个错误:“错误:在Heroku上找不到模块'模型'”。我正在使用Node.JS.我正在使用this Node.JS project。
由于篇幅较长,我从Heroku和put them in a gist复制了日志。
以下是摘录:
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,设置了配置MONGO_URL,NODE_ENV设置为生产。
您可以找到网站here。
有谁知道发生了什么事?谢谢你的帮助!
答案 0 :(得分:12)
您需要将NODE_PATH=lib
设置为heroku的配置变量。
NODE_PATH
告诉节点在node_modules
目录之外找到模块的位置。
此外,您需要告诉应用程序在生产环境中读取env变量。
因此...
$ heroku config:set NODE_ENV=production
$ heroku config:set NODE_PATH=lib
无需为heroku部署修改任何文件。
答案 1 :(得分:0)
你缺少"模特"在"依赖" package.json的属性。 (我检查了github回购)。
编辑:抱歉,看起来您正在尝试使用/ lib / models /文件夹下的模块。所以在这一行https://github.com/gravityonmars/nodejs-starter/blob/master/index.js#L20中你可以这样做:需要(' ./ LIB /模型&#39)(表观);
答案 2 :(得分:0)
您只需要重新安装模型即可。
执行npm install models --save
,然后将您的应用重新部署到Heroku。
这应该可以解决您的问题。