节点应用程序在本地运行但在heroku上崩溃(process.env.PORT集)

时间:2013-10-24 20:36:29

标签: git node.js heroku

我的回购中有这个版本的博客: https://github.com/pandrei/pandrei_test/tree/master/pandrei-blog

(随意克隆并测试)

作为本教程的结果:

http://blog.davydewaele.be/node-powered-git-blog-with-wheat

我在本地测试了它并运行正常,但它在Heroku上崩溃了。

Heroku日志:

2013-10-24T20:23:55.610646+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path=/ host=pandrei-blog.herokuapp.com fwd="---.---.---.---" dyno=web.1 connect=0ms service=25ms status=503 bytes=0
2013-10-24T20:23:55.590168+00:00 app[web.1]: path.exists is now called `fs.exists`.
2013-10-24T20:23:55.601900+00:00 app[web.1]:       ^
2013-10-24T20:23:55.601882+00:00 app[web.1]:       callback(err);
2013-10-24T20:23:55.605427+00:00 app[web.1]:     at ChildProcess.<anonymous> (/app/node_modules/wheat/node_modules/git-fs/lib/git-fs.js:208:7)
2013-10-24T20:23:55.601326+00:00 app[web.1]: 
2013-10-24T20:23:55.605444+00:00 app[web.1]:     at maybeClose (child_process.js:735:16)
2013-10-24T20:23:55.605439+00:00 app[web.1]:     at ChildProcess.EventEmitter.emit (events.js:98:17)
2013-10-24T20:23:55.605456+00:00 app[web.1]:     at Socket.EventEmitter.emit (events.js:95:17)
2013-10-24T20:23:55.605464+00:00 app[web.1]:     at Pipe.close (net.js:466:12)
2013-10-24T20:23:55.605452+00:00 app[web.1]:     at Socket.<anonymous> (child_process.js:948:11)
2013-10-24T20:23:55.605415+00:00 app[web.1]: TypeError: undefined is not a function
2013-10-24T20:23:55.601639+00:00 app[web.1]: /app/node_modules/wheat/node_modules/git-fs/lib/git-fs.js:208
2013-10-24T20:23:56.652015+00:00 heroku[web.1]: Process exited with status 8
2013-10-24T20:23:56.669381+00:00 heroku[web.1]: State changed from up to crashed

我刚刚开始使用Heroku而且我真的不明白为什么它会崩溃。

有人可以解释其原因或如何“调试”这个吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

所以有两件事情在我这里跳过:

  1. 您似乎在本地运行不同版本的节点,而不是heroku正在运行。
  2. path.exists显然是问题的原因,这是一个已弃用的功能。
  3. 我会upgrade to the latest node version看看你是否可以在本地复制(如果是这样,第一次诊断是正确的),然后在代码中搜索path.exists并将其替换为fs.exists,这应该修复问题:)

    编辑:在浏览并提取小麦来源后,我诚实地建议尝试使用其他博客引擎。小麦已经过时,没有维护,并且在所有最新版本的节点中都被破坏了。此外,一些小麦的依赖项是由同一作者编写的,并且在最近的节点构建中也没有维护和破坏。如果您打算建立一个博客,您希望在维护良好且积极更新的技术上构建它,而不是那些陈旧且破碎的技术。

    如果您追求的是更流畅,更现代的博客系统,我建议您查看ghost。它维护得很好,可以设置,易于部署,甚至可以在后端编辑和创建帖子。如果你正在寻找一些更小的东西和黑客,我推荐jekyll如果你可以使用ruby,或roots如果你喜欢节点。我是root的维护者,它是积极维护和更新的,支持使用markdown文件制作的简单博客,并且只有一个命令部署到heroku。如果你想让我为你设置一个示例博客,我很乐意添加这个答案,请告诉我:)