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

Hou*_*kih 6 heroku web-deployment node.js

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

我的 Procfile 如下:

web: node web.js
Run Code Online (Sandbox Code Playgroud)

和我的 package.json 文件:

{
 "name": "fuuzik",
 "version": "0.0.1",
 "dependencies": {
   "express": "3.x",
   "jade":"*",
   "mime-magic":"*"
  },
 "engines": {
  "node": "0.8.x",
  "npm": "1.1.x"
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,在我提交并推送 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

这是我推送时的 git 日志(它有点大,所以我链接了它):

http://pastebin.com/d424TBfR

任何帮助表示赞赏!

Eri*_*ode 0

Libmagic(mime-magic 所需)需要与heroku 提供的不同版本的libc。您将需要找到一个替代库或自行编译它以用于 heroku 版本的 libc。