I've followed the getting started guide to deploy a nodejs application to heroku: https://devcenter.heroku.com/articles/nodejs
It worked fine until git push heroku master
. This terminated with the following output:
git push heroku master
Counting objects: 1018, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (894/894), done.
Writing objects: 100% (1018/1018), 4.03 MiB | 64 KiB/s, done.
Total 1018 (delta 75), reused 0 (delta 0)
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.6.20
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
> ws@0.4.21 install /tmp/build_ngyi26sy7e54/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> node install.js
[ws v0.4.21] Attempting to compile blazing fast native extensions.
[ws v0.4.21] Native code compile failed (but the module will still work):
[ws v0.4.21] The native extensions are faster, but not required.
[ws v0.4.21] On Windows, native extensions require Visual Studio and Python.
[ws v0.4.21] On Unix, native extensions require Python, make and a C++ compiler.
[ws v0.4.21] Start npm with --ws:verbose to show compilation output (if any).
> hiredis@0.1.14 preinstall /tmp/build_ngyi26sy7e54/node_modules/socket.io/node_modules/redis/node_modules/hiredis
> make || gmake
cd deps/hiredis && make static
make[1]: Entering directory `/tmp/build_ngyi26sy7e54/node_modules/socket.io/node_modules/redis/node_modules/hiredis/deps/hiredis'
make[1]: Nothing to be done for `static'.
make[1]: Leaving directory `/tmp/build_ngyi26sy7e54/node_modules/socket.io/node_modules/redis/node_modules/hiredis/deps/hiredis'
node-waf configure build
Setting srcdir to : /tmp/build_ngyi26sy7e54/node_modules/socket.io/node_modules/redis/node_modules/hiredis
Setting blddir to : /tmp/build_ngyi26sy7e54/node_modules/socket.io/node_modules/redis/node_modules/hiredis/build
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /tmp/node-node-Wyfk
'configure' finished successfully (0.029s)
Waf: Entering directory `/home/lhk/Desktop/zwillenhomepage/node_modules/socket.io/node_modules/redis/node_modules/hiredis/build'
Waf: Leaving directory `/home/lhk/Desktop/zwillenhomepage/node_modules/socket.io/node_modules/redis/node_modules/hiredis/build'
Traceback (most recent call last):
File "/tmp/node-node-Wyfk/bin/node-waf", line 16, in <module>
Scripting.prepare(t, os.getcwd(), VERSION, wafdir)
File "/tmp/node-node-Wyfk/bin/../lib/node/wafadmin/Scripting.py", line 145, in prepare
prepare_impl(t, cwd, ver, wafdir)
File "/tmp/node-node-Wyfk/bin/../lib/node/wafadmin/Scripting.py", line 135, in prepare_impl
main()
File "/tmp/node-node-Wyfk/bin/../lib/node/wafadmin/Scripting.py", line 188, in main
fun(ctx)
File "/tmp/node-node-Wyfk/bin/../lib/node/wafadmin/Scripting.py", line 386, in build
return build_impl(bld)
File "/tmp/node-node-Wyfk/bin/../lib/node/wafadmin/Scripting.py", line 405, in build_impl
bld.compile()
File "/tmp/node-node-Wyfk/bin/../lib/node/wafadmin/Build.py", line 268, in compile
os.chdir(self.bldnode.abspath())
OSError: [Errno 2] No such file or directory: '/home/lhk/Desktop/zwillenhomepage/node_modules/socket.io/node_modules/redis/node_modules/hiredis/build'
make: *** [all] Error 1
sh: gmake: not found
npm ERR! hiredis@0.1.14 preinstall: `make || gmake`
npm ERR! `sh "-c" "make || gmake"` failed with 127
npm ERR!
npm ERR! Failed at the hiredis@0.1.14 preinstall script.
npm ERR! This is most likely a problem with the hiredis package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! make || gmake
npm ERR! You can get their info via:
npm ERR! npm owner ls hiredis
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Linux 2.6.32-343-ec2
npm ERR! command "/tmp/node-node-Wyfk/bin/node" "/tmp/node-npm-Rq2Y/cli.js" "rebuild"
npm ERR! cwd /tmp/build_ngyi26sy7e54
npm ERR! node -v v0.6.20
npm ERR! npm -v 1.0.106
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_ngyi26sy7e54/npm-debug.log
npm not ok
! Failed to rebuild dependencies with npm
! Heroku push rejected, failed to compile Node.js app
To git@heroku.com:morning-plateau-9747.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:morning-plateau-9747.git'
I don't know how to fix this. The application is still a barebone. I decided to get it up and running on heroku and then incrementally add the features I wanted. It runs great on localhost, npm installs all the dependencies without an error and with a Procfile it even works with foreman. I've used github to create the repo and cloned it on my machine. Deploying to my github account works without problems. Here's the link to the repo https://github.com/lhk/zwillenhomepage
What can I do ?
Relevant package.json:
{
"name": "zwillen-webseite",
"scripts": {
"start": "server.js"
},
"version": "0.0.1",
"engines": {
"node": "0.6.x"
},
"dependencies": {
"express": "3.0.x",
"socket.io": "0.9.8",
"jade": "0.27.0"
}
}