2013-10-24 79 views
0

我有這個版本的博客在我的回購: https://github.com/pandrei/pandrei_test/tree/master/pandrei-blog節點的應用程序在本地運行,但在Heroku崩潰(process.env.PORT集)

(隨意克隆並對其進行測試)

爲本教程的結果:

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

所以兩件事情跳出來我在這裏:

  1. 好像你正在運行不同版本的節點的局部比Heroku的運行。
  2. path.exists顯然是問題的原因,這是一個不推薦的功能。

我會upgrade to the latest node version,看看你是否可以在本地複製(如果是這樣的第一診斷是正確的),然後用fs.exists搜索你的代碼爲path.exists和替換它,這應該解決的問題:)

編輯:看完小麥後,我會誠實地推薦嘗試不同的博客引擎。小麥過時了,沒有維護,並且在所有節點的最新版本中被打破。另外,一些小麥的依賴性由同一作者編寫,並且在最近的節點構建中也未被維護和破壞。如果你打算建立一個博客,你想要建立在保持良好和積極更新的技術上,而不是那些陳舊和破碎的技術。

如果您正在經歷一個更流暢,更現代化的博客系統,我會推薦檢查ghost。它維護得很好,有主題,易於部署,甚至可以在後端編輯和創建帖子。如果你正在尋找一些更簡單和黑客的東西,如果你喜歡ruby,我會推薦jekyll,如果你喜歡節點,我會推薦roots。我是root的維護者,並且它是積極維護和更新的,支持使用markdown文件創建的簡單博客,並將一個命令部署到heroku。如果你想讓我爲你設置一個博客示例,我很樂意添加到這個答案,只是讓我知道:)

+0

是的,但我跑了。 | xargs grep'path.exists'-sl在我的回購根文件夾中,並且在我的代碼庫中沒有這樣的函數 – pAndrei

+0

@pAndrei它依賴於小麥 – ksimons

+0

可能實際上是小麥的問題 - 它向您顯示產生錯誤的行:'/app/node_modules/wheat/node_modules/git-fs/lib/git-fs.js:208' - 是你的package.json文件中最新版本的小麥嗎? –

相關問題