在npm-node js中安装Socket io的问题

时间:2013-12-18 09:43:19

标签: node.js socket.io npm

我使用的是节点js-version:0.10.7 npm版本:1.2.14 当我尝试安装socket.io时,

npm install socket.io

我收到以下错误

C:\Users\Documents\tools\nodejs\nodejs\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws>node "C:\Users\Documents\tools\nodejs\nodejs\nod
\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
npm http 200 http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
npm ERR! Error: shasum check failed for C:\Users\AppData\Local\Temp\npm-7080\1387359252710-0.8488596209790558\tmp.tgz
npm ERR! Expected: 03726561bc268f2e5444f54c665b7fd4a8c029e2
npm ERR! Actual:   1f0d4d7696afb3dc9275c565270dea1b173bc0d4
npm ERR!     at C:\Users\Documents\tools\nodejs\nodejs\node_modules\npm\lib\utils\sha.js:29:20
npm ERR!     at ReadStream.<anonymous> (C:\Users\Documents\tools\nodejs\nodejs\node_modules\npm\lib\utils\sha.js:49:5)
npm ERR!     at ReadStream.EventEmitter.emit (events.js:117:20)
npm ERR!     at _stream_readable.js:910:16
npm ERR!     at process._tickCallback (node.js:415:13)
npm ERR! If you need help, 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! System Windows_NT 6.1.7601
npm ERR! command "C:\\Users\\\Documents\\tools\\nodejs\\nodejs\\\\node.exe" "C:\\Users\\\Documents\\tools\\nodejs\\nodejs\\node_modules\\npm\\bin\\npm-cli.j
"socket.io"
npm ERR! cwd C:\Users\Documents\tools\nodejs\nodejs
npm ERR! node -v v0.10.7
npm ERR! npm -v 1.2.14
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Documents\tools\nodejs\nodejs\npm-debug.log
npm ERR! not ok code 0

可能是什么原因? 请建议

2 个答案:

答案 0 :(得分:0)

如您所见,shasum检查失败,请尝试删除C:\ Users \ AppData \ Local \ Temp \ npm- *目录。之后你可以再试一次。

如果这不起作用,请确保安装了node-gyp,并具有所有依赖项。与此类似的问题:NPM - Can't install socket.IO

答案 1 :(得分:0)

确保您拥有运行node-gyp所需的所有软件:

您可以通过环境变量配置gyp使用的Visual Studio版本,这样您就可以避免每次执行npm安装时都设置--msvs_version=2012属性。

示例:

  • 为Visual Studio 2012设置GYP_MSVS_VERSION=2012
  • 设置GYP_MSVS_VERSION=2013e('e'代表'express edition')

有关完整列表,请参阅   - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

对于NodeJS的Windows用户来说,这仍然很痛苦,因为它假设您安装了Visual Studio的副本,并且许多最终用户永远不会拥有此。因此,我正在游说Joyent鼓励他们将socket.io所依赖的网络套接字作为CORE节点的一部分,并将GNU gcc编译器作为NodeJS安装的一部分提供,这样我们就可以永久解决这个问题。

随时添加您的投票: