Heroku App根据日志不断崩溃......为什么?

时间:2013-05-07 12:39:07

标签: node.js postgresql heroku crash

我一旦部署应用程序并推送了本教程中的代码: http://blog.superpat.com/2011/06/14/node-js-chat-demo-on-heroku/

我从heroku收到此错误: “应用程序出错,无法提供您的网页。请稍后再试。

如果您是应用程序所有者,请查看日志以获取详细信息。“

这是我得到的日志错误:

2013-05-07T12:46:21.537628+00:00 app[web.1]: module.js:340
2013-05-07T12:46:21.537946+00:00 app[web.1]:     throw err;
2013-05-07T12:46:21.538118+00:00 app[web.1]:           ^
2013-05-07T12:46:21.540143+00:00 app[web.1]: Error: Cannot find module 'pg'
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Function.Module._resolveFilename (module.js:338:15)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Function.Module._load (module.js:280:25)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at require (module.js:380:17)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Object.<anonymous> (/app/server.js:22:10)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Module._compile (module.js:456:26)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Object.Module._extensions..js (module.js:474:10)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Module.load (module.js:356:32)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Module.require (module.js:364:17)
2013-05-07T12:46:21.540462+00:00 app[web.1]:     at Function.Module.runMain (module.js:497:10)
2013-05-07T12:46:21.540143+00:00 app[web.1]:     at Function.Module._load (module.js:312:12)
2013-05-07T12:46:22.755998+00:00 heroku[web.1]: Process exited with status 8
2013-05-07T12:47:21.212523+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=nodechatclient.herokuapp.com fwd="72.229.150.213" dyno= connect= service= status=503 bytes=
2013-05-07T12:47:22.593111+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=nodechatclient.herokuapp.com fwd="72.229.150.213" dyno= connect= service= status=503 bytes=

我遵循了教程'github中的所有代码。

可能导致什么?它与pg有关吗?我应该在某处更改数据库路径吗?

当我尝试使用node server.js在本地运行它时,我收到此错误:

Error: Cannot find module    '/home/euridice/node_modules/pg/lib/native/../../build/default/binding'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/euridice/node_modules/pg/lib/native/index.js:16:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)

这是什么意思?

编辑:修正了一些事情,现在我得到了:

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

at Connection.<anonymous>    (/home/euridice/node_chat/node_modules/pg/lib/native/index.js:187:17)
at Connection.EventEmitter.emit (events.js:95:17)

1 个答案:

答案 0 :(得分:3)

运行

npm install

在本地,并将“node_modules”文件夹推送到heroku

编辑:我认为你误解了一些git和herkoku概念。你需要:

1. clone the repository: 'git clone git://github.com/metadaddy-sfdc/node_chat.git'
2. go into the repository: 'cd node_chat'
3. now you can run 'npm install' in THAT folder
4. after that you can create your heroku app: 'heroku create'
5. and deploy that to heroku: 
  5.1 git add .
  5.2 git commit -m "some comment"
  5.3 git push heroku master

你必须a)在你的node_chat文件夹中,b)首先安装npm,然后将所有内容(git add。)推入heroku!