【问题标题】:can't install forever on windows?不能永远安装在windows上?
【发布时间】:2012-02-20 19:07:18
【问题描述】:

我尝试在我的 Windows 服务器上安装 node.js 的永久模块,但收到此错误:

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

我不会认为我做错了什么,但谁知道呢?任何人都知道为什么这可能不起作用?我猜它与node-waf有关,由于某种原因它不在我的系统上。这不是默认包含的吗?

【问题讨论】:

标签: node.js


【解决方案1】:

我在 Windows 上永久安装 0.8.4+ 时遇到了同样的问题。似乎 node-waf 甚至不适用于 Windows。永久安装 0.8.3 作为解决方法 - 只需运行:

npm install forever=0.8.3

【讨论】:

  • 我也面临在 windows 中永久安装的问题。当前版本是 0.8.5。但是 0.8.3 有效。 npm install 永远@0.8.3。谢谢。
【解决方案2】:

在 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

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

【讨论】:

  • 感谢您提供有趣的信息,但我一直在寻找。我最终将在 linux 上托管我的节点应用程序。
【解决方案3】:

我假设您使用 Cygwin?看起来你要么 A) 没有通过 cygwin 包安装 bash,或者它不在你的 PATH 中

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

【讨论】:

  • 等等,我还以为是节点团队把它弄到了你不再需要 cygwin 的地方
  • 这并不意味着所有模块都是兼容的,node 二进制文件和 npm 在没有 cygwin 的情况下可以正常工作,但是某些模块可能在需要 Cygwin 工具的构建脚本中仍然存在依赖关系。我认为这可能是你的问题。
  • 您是否从 Cygwin 重新安装了 node 和 npm install?此外,您需要确保满足 cygwin 中的所有 npm 依赖项。例如 node-waf 使用 python。
  • 您可能需要在 Cygwin 中从源代码构建节点。
  • 在哪里可以获得 node-waf?它没有随安装提供
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多