我使用的是节点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
可能是什么原因? 请建议
答案 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
属性。
示例:
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安装的一部分提供,这样我们就可以永久解决这个问题。
随时添加您的投票: