无法永久安装在Windows上?

问题描述:

我试图安装我的Windows服务器上的node.js永远的模块,但得到这个错误:无法永久安装在Windows上?

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 

> [email protected] 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 [email protected] 
npm http GET https://registry.npmjs.org/prompt/0.1.12 
(...snip...) 
npm http GET https://registry.npmjs.org/mkdirp 

> [email protected] 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 

> [email protected] 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 [email protected] 
npm ERR! error installing [email protected] 
npm ERR! error installing [email protected] 
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!  <[email protected]> 
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 

我不认为我做错什么,但谁知道?任何人都有任何想法,为什么这可能不工作?我猜它与node-waf有关,因为某些原因,它不在我的系统中。这不是默认包含的吗?

+0

参见: http://stackoverflow.com/questions/4018154/node-js-as-a-background-service/12959291#12959291 或 http://stackoverflow.com/questions/ 10547974/how-to-install-node-js-as-windows-service – Page2PagePro 2012-10-18 16:58:35

我有同样的问题在Windows上永远安装0.8.4+。看来node-waf甚至没有用于Windows。安装0.8.3永远作为一种解决办法 - 只要运行:

npm install forever=0.8.3 
+0

一起使用npm做过吗? – LordZardeck 2012-02-29 17:55:57

+6

我也面临在永久安装在Windows中的问题。当前版本是0.8.5。但0.8.3工作。 npm安装[email protected]。谢谢。 – user644745 2012-03-08 09:53:58

我假设你使用Cygwin?它看起来像你A)没有安装bash通过cygwin包或它不在你的路径

如果你不使用cygwin,你可能想使用它,因为它看起来像这个包有一些系统依赖关系linux命令在它的安装脚本中。

+0

等待,我认为节点团队已将它放在不再需要的地方cygwin – LordZardeck 2012-02-20 19:13:37

+0

那并不意味着所有模块都是兼容的,节点二进制和npm工作没有cygwin,但是有些模块在他们需要Cygwin工具的构建脚本中可能仍然有依赖关系。我认为那可能是你的问题。 – 2012-02-20 20:38:09

+0

好吧,我会安装它,然后再试一次。 – LordZardeck 2012-02-20 20:58:19

在Windows上,以保持节点运行的最好方法是使用iisnode - http://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.htmlhttp://weblogs.asp.net/jgalloway/archive/2011/10/26/using-node-js-in-an-asp-net-mvc-application-with-iisnode.aspx

同意,这不是在所有情况下的理想,但这是我们目前最好的。

+0

感谢有趣的信息,但我一直在寻找。我结束了在Linux上托管我的节点应用程序。 – LordZardeck 2012-03-15 20:30:54