heroku node.js bash:node:找不到命令

似乎有一个奇怪的问题,我的应用程序部署在香柏堆上的heroku,我的节点进程甚至没有被调用

我的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检测到它是一个节点的应用程序罚款,并build立我的依赖正确,甚至说,它部署..但应用程序立即坠毁在部署和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 

工头运行良好,根目录周围有几个.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日志:

http://pastebin.com/d424TBfR

任何帮助感激!

尝试删除您的Procfile。

显然,Procfile指示heroku使用node main.js来运行应用程序,但节点不是有效的命令,因为它不包含在PATHvariables中,或者类似的。

通过删除Procfile,heroku检测到应用程序是meteor应用程序,并使用完整path的节点二进制文件运行。

另外,请记住ROOT_URL必须以http://开头

Libmagic(mime-magic所要求的)希望有不同版本的libc,然后由heroku提供。 你将需要find一个替代库或编译你自己的heroku的版本的libc。