我的应用程序在雪松堆栈上的heroku上部署似乎有一个奇怪的问题,我的节点进程甚至没有被调用 我的Procfile如下: web: node web.js 和我的package.json文件: { "name": "fuuzik", "version": "0.0.1", "de
我的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检测到它是一个节点应用程序正确并正确构建我的依赖,甚至说它已部署..但应用程序在部署时立即崩溃并且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安装的输出:
--[/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日志(它有点大,所以我把它连接起来):
http://pastebin.com/d424TBfR
任何帮助赞赏!
尝试删除您的Procfile.显然,Procfile指示heroku使用节点main.js运行应用程序,但节点不是有效命令,因为它不包含在PATH varialbe中,或类似.
通过删除Procfile,heroku检测到该应用程序是一个流星应用程序,并使用节点的二进制文件以完整路径运行它.
另外,请记住必须以http://开头设置ROOT_URL