在 Heroku 中部署 NodeJS 应用程序时出错
Posted
技术标签:
【中文标题】在 Heroku 中部署 NodeJS 应用程序时出错【英文标题】:Error on deploy a NodeJS app in Heroku 【发布时间】:2012-02-20 23:01:23 【问题描述】:我收到了错误:
2012-01-28T00:13:51+00:00 heroku[web.1]: Starting process with command `node server.js`
2012-01-28T00:13:51+00:00 app[web.1]:
2012-01-28T00:13:51+00:00 app[web.1]: node.js:134
2012-01-28T00:13:51+00:00 app[web.1]: throw e; // process.nextTick error, or 'error' event on first tick
2012-01-28T00:13:51+00:00 app[web.1]: ^
2012-01-28T00:13:51+00:00 app[web.1]: at Array.<anonymous> (module.js:423:10)
2012-01-28T00:13:51+00:00 app[web.1]: Error: Cannot find module '/app/server.js'
2012-01-28T00:13:51+00:00 app[web.1]: at Function._resolveFilename (module.js:320:11)
2012-01-28T00:13:51+00:00 app[web.1]: at Function._load (module.js:266:25)
2012-01-28T00:13:51+00:00 app[web.1]: at EventEmitter._tickCallback (node.js:126:26)
我的 Node 应用服务器位于根目录下的 server.js 中,我不知道如何解决这个问题。 我已经从 cloud9ide 完成了它,它工作正常,我从那里部署到 heroku。
【问题讨论】:
【参考方案1】:看起来有些东西正试图在您的应用程序中的某个地方使用 require('server'),这不是必需的。错误来自处理需要节点模块的 module.js。如果您可以提供您的 Procfile 和一些源代码,则可能更容易确定问题,但乍一看似乎有一个相对路径指向 /app/server.js 在您的服务器代码中的某处,这不应该这样做。
【讨论】:
以上是关于在 Heroku 中部署 NodeJS 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 Heroku 上部署 Nodejs + MongoDB,但安装插件时需要验证信用卡
Nodejs API 在 localhost 中回复 JSON,但相同的 API 调用,在部署 heroku 时回复空 JSON