can't install forever on windows?

Problem

I tried to install the forever module for node.js on my windows server, but got this error:

C:\rts_lobby>npm install forever
npm http GET https://registry.npmjs.org/forever
npm http 200 https://registry.npmjs.org/forever
npm http GET https://registry.npmjs.org/forever/-/forever-0.8.5.tgz
npm http 200 https://registry.npmjs.org/forever/-/forever-0.8.5.tgz
(...snip...)
npm http GET https://registry.npmjs.org/parse-table

> microtime@0.2.0 install C:\rts_lobby\node_modules\forever\node_modules\microti
me
> node-waf configure build

npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/lazy
npm http GET https://registry.npmjs.org/eventemitter2
'node-waf' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! error installing microtime@0.2.0
npm http GET https://registry.npmjs.org/prompt/0.1.12
(...snip...)
npm http GET https://registry.npmjs.org/mkdirp

> node-fork@0.4.1 preinstall C:\rts_lobby\node_modules\forever\node_modules\node
-fork
> bash ./install

npm http 200 https://registry.npmjs.org/parse-table
npm http 304 https://registry.npmjs.org/mkdirp

> daemon@0.4.1 preinstall C:\rts_lobby\node_modules\forever\node_modules\daemon
> bash ./install

npm http 200 https://registry.npmjs.org/lazy
npm http GET https://registry.npmjs.org/wordwrap
'bash' is not recognized as an internal or external command,
operable program or batch file.
'bash' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! error installing daemon@0.4.1
npm ERR! error installing node-fork@0.4.1
npm ERR! error installing forever@0.8.5
npm http 200 https://registry.npmjs.org/eventemitter2
npm http 200 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz

npm ERR! EEXIST, file already exists 'C:\rts_lobby\node_modules\forever\node_mod
ules\___nconf.npm\package\lib\nconf'
npm ERR! File exists: C:\rts_lobby\node_modules\forever\node_modules\___nconf.np
m\package\lib\nconf
npm ERR! Move it away, and try again.
npm ERR!
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "forever"
npm ERR! cwd C:\rts_lobby
npm ERR! node -v v0.6.8
npm ERR! npm -v 1.1.0-2
npm ERR! path C:\rts_lobby\node_modules\forever\node_modules\___nconf.npm\packag
e\lib\nconf
npm ERR! fstream_path C:\rts_lobby\node_modules\forever\node_modules\___nconf.np
m\package\lib\nconf\common.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code EEXIST
npm ERR! message EEXIST, file already exists 'C:\rts_lobby\node_modules\forever\
node_modules\___nconf.npm\package\lib\nconf'
npm ERR! errno {}
npm ERR! fstream_stack C:\Program Files (x86)\nodejs\node_modules\npm\node_modul
es\fstream\lib\writer.js:161:23
npm ERR! fstream_stack Object.oncomplete (C:\Program Files (x86)\nodejs\node_mod
ules\npm\node_modules\mkdirp\index.js:25:53)

npm ERR! Error: ENOENT, no such file or directory 'C:\rts_lobby\node_modules\for
ever\node_modules\___broadway.npm\package\test\common\directories-test.js'
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR!
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "forever"
npm ERR! cwd C:\rts_lobby
npm ERR! node -v v0.6.8
npm ERR! npm -v 1.1.0-2
npm ERR! path C:\rts_lobby\node_modules\forever\node_modules\___broadway.npm\pac
kage\test\common\directories-test.js
npm ERR! fstream_path C:\rts_lobby\node_modules\forever\node_modules\___broadway
.npm\package\test\common\directories-test.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory 'C:\rts_lobby\node_modules\fo
rever\node_modules\___broadway.npm\package\test\common\directories-test.js'
npm ERR! errno {}
npm ERR! fstream_stack Object.oncomplete (C:\Program Files (x86)\nodejs\node_mod
ules\npm\node_modules\fstream\lib\writer.js:204:26)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\rts_lobby\npm-debug.log
npm not ok

I wouldn't think I was doing anything wrong, but who knows? Anyone have any idea why this may not be working? I'm guessing it has to do with node-waf, which isn't on my system for some reason. Is this not included by default?

Problem courtesy of: LordZardeck

Solution

I had the same issue installing forever 0.8.4+ on Windows. It seems node-waf is not even available for Windows. Installed forever 0.8.3 as a workaround - just run:

npm install forever=0.8.3
Solution courtesy of: keesinggames

Discussion

On windows, the best way to keep node running is to use iisnode - http://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.html and http://weblogs.asp.net/jgalloway/archive/2011/10/26/using-node-js-in-an-asp-net-mvc-application-with-iisnode.aspx

Agree that it is not ideal in all situations, but that is the best we have currently.

Discussion courtesy of: sanatgersappa

I assume you using Cygwin? It looks like you either A) did not install bash via cygwin packages or it isn't in your PATH

If you are not using cygwin, you may want to use it because it looks like this package has system dependencies for some linux commands in it's install scripts.

Discussion courtesy of: j_mcnally

This recipe can be found in it's original form on Stack Over Flow.