0

我的仓库上有这个版本的博客: 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,但我真的不明白它为什么会崩溃。

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

谢谢 !

4

1 回答 1

1

所以这里有两件事让我想到:

  1. 似乎您在本地运行的节点版本与 heroku 正在运行的不同。
  2. path.exists显然是问题的原因,这是一个已弃用的功能。

我会升级到最新的节点版本,看看你是否可以在本地重现(如果是这样,第一次诊断是正确的),然后搜索你的代码path.exists并将其替换为fs.exists,这应该可以解决问题:)

编辑:在查看并删除小麦的来源后,我真诚地建议尝试不同的博客引擎。Wheat 已过时,未维护,并且在所有最新版本的节点中都已损坏。此外,小麦的一些依赖是同一作者编写的,在最近的节点构建中也没有维护和损坏。如果您计划建立一个博客,您希望建立在维护良好和积极更新的技术上,而不是使用陈旧和损坏的技术。

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

于 2013-10-24T20:41:31.140 回答