Heroku node.js bash: node: command not found

it seems like a strange problem with deploying my application in heroku on a cedar stack, where my node process is not even called

my Procfile is as follows:

web: node web.js 

and my package.json file:

 { "name": "fuuzik", "version": "0.0.1", "dependencies": { "express": "3.x", "jade":"*", "mime-magic":"*" }, "engines": { "node": "0.8.x", "npm": "1.1.x" } } 

So, after I committed and clicked heroku, he found that the node application works fine and builds my dependencies correctly, and even says that it is deployed .. but the application immediately breaks into deployment, and heroku logs are returned:

 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 is working fine, and there are several .php files around the root directory (as I am porting some old code), but I am sure this should be enabled by the Procfiles logic

As requested here, the npm output is set locally:

 --[/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 

and here is git log when I click (it's a little big, so I linked it):

http://pastebin.com/d424TBfR

Any help appreciated!

+4
source share
2 answers

Try deleting the Procfile file.

Procfile seems to indicate that heroku launches the application using node main.js , but node is not a valid command because it is not included in the PATH variable or similar.

Having deleted the Procfile file, the hero discovers that the application is a meteorite application and launches it using the node binary with the full path.

Also, remember that ROOT_URL must be set starting at http: //

+3
source

Libmagic (mime-magic required) expects a different version of libc that heroku provides. You will need to find an alternative library or compile it yourself for the libc version for the hero.

0
source

All Articles