【问题标题】:Issue in installing Socket io in npm-node js在 npm-node js 中安装 Socket io 的问题
【发布时间】:2014-08-01 09:51:39
【问题描述】:

我正在使用节点 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

可能是什么原因? 请指教

【问题讨论】:

    标签: node.js socket.io npm


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      确保您拥有运行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 所依赖的 Web 套接字作为 CORE 节点的一部分包含在内,并将 GNU gcc 编译器作为 NodeJS 安装的一部分,这样我们就可以永久解决这个问题。

      欢迎在以下位置添加您的投票:

      【讨论】:

        猜你喜欢
        • 2013-04-20
        • 1970-01-01
        • 2014-10-18
        • 2017-08-07
        • 2015-12-24
        • 2015-11-29
        • 1970-01-01
        • 2011-10-04
        • 2016-02-19
        相关资源
        最近更新 更多