在 Heroku 的 Cedar 栈上部署我的应用程序时,出现了一个奇怪的问题,我的 Node 进程甚至都没有被调用。
我的 Procfile 如下:
web: node web.js
我的 package.json 文件:
{
"name": "fuuzik",
"version": "0.0.1",
"dependencies": {
"express": "3.x",
"jade":"*",
"mime-magic":"*"
},
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
}
我提交并推送后,Heroku检测到这是一个Node应用程序,并正确地构建了我的依赖项,甚至显示已部署...但是应用程序在部署时立即崩溃,Heroku日志返回:
2012-08-29T08:52:14+00:00 heroku[api]: Deploy d9fdb17 by he610@doc.ic.ac.uk
2012-08-29T08:52:14+00:00 heroku[web.1]: State changed from crashed to starting
2012-08-29T08:52:14+00:00 heroku[slugc]: Slug compilation finished
2012-08-29T08:52:16+00:00 heroku[web.1]: Starting process with command `node web.js`
2012-08-29T08:52:16+00:00 app[web.1]: bash: node: command not found
2012-08-29T08:52:17+00:00 heroku[web.1]: Process exited with status 127
2012-08-29T08:52:17+00:00 heroku[web.1]: State changed from starting to crashed
Foreman运行良好,根目录周围有几个.php文件(因为我正在移植一些旧代码),但我相信这应该被Procfiles的逻辑允许。
如要求所述,以下是本地npm install的输出:
--[/DEBUG]--
jade@0.27.2 node_modules/jade
├── commander@0.6.1
└── mkdirp@0.3.0
express@3.0.0rc3 node_modules/express
├── methods@0.0.1
├── range-parser@0.0.4
├── fresh@0.1.0
├── cookie@0.0.4
├── crc@0.2.0
├── commander@0.6.1
├── debug@0.7.0
├── mkdirp@0.3.3
├── send@0.0.3 (mime@1.2.6)
└── connect@2.4.3 (pause@0.0.1, bytes@0.1.0, qs@0.4.2, formidable@1.0.11)
mime-magic@0.3.0 node_modules/mime-magic
以下是我推送时的git日志(较长,请点击下方链接查看):
任何帮助都将不胜感激!
npm install
时会发生什么?同时,请提供将其推送到Heroku时的早期输出。 - Jon Mountjoy