好像只在windows系统出现,我用的win7 ,
https://github.com/Automattic/engine.io-client/issues/376
这里说可以升级 ws,可是这个ws到底是什么呢?是websocket么? 但是如何升级websocket呢?
ws
是websocket
的一个库.
在Windows
下会有各种编译错误. 请尽量使用Linux
和Mac
@meteormatt 之前好像可以的,现在不行了
@myylife 需要看debug.log的. 一般是编译环境的问题. 比如VS版本之类的.
在vs的开发人员命令行工具下安装
@dayuoba 也是不成功
这种大段大段的错误以我个人经验来说不是环境问题,是包的兼容性问题。 node 0.10->0.11/0.12后v8的api有变动,所以一些涉及v8开发的包不作修改基本都是跪的节奏,有两种方法:
- node降级到0.10.* 试验下安装
- 等作者更新
本着帮人帮到底的精神,我刚去看了下socket.io的仓库,近几天有更新,我试了试npm install https://github.com/Automattic/socket.io,原本以为一切都妥了的时候。。。。然而并没什么卵用,还是报错了,不过不是编译错误, Callback called more than once. 我。。。没见过,无能为力
@nekron 你用的0.10.*,在windows vs 2013下?
遇到同样的问题,engine.io-client中ws模块编译错误,仔细看了一下github上engine.io-client的package.json中ws的版本(0.7.2)和npm install socket.io 的版本(0.4.31)是不一致的,确实是ws版本太低,不明白为什么会win7上npm install最新的源出现该问题……
解决方法:在你的工程中将原先ws@0.4.31替换成最新的(engine.io-client的package.json中本身就要求0.7.2),亲测,替换后socket.io server和client都正常
@myylife 我是0.12的环境,我只是推荐你使用0.10看看是不是就ok了,因为这些语法错误我感觉是因为v8的api改动导致的
@jinxc 没有设置ws啊,直接npm install socket.io报错的:(
@myylife 看报错的信息socket.io->socket.io-client->engine.io-client->ws,npm install socket.io时socket.io最新版本为1.3.5,对应的socket.io-client也是1.3.5,engine.io-client为1.5.1,接下去问题就来了,win7 npm install时engine.io-client下的package.json中的ws是0.4.31,而github上engine.io-client下的package.json中的ws是0.7.2,应该是依据github上的才是对的,所以win7 npm install时依赖错了,手动修正一下问题就解决了,置于win7下为什么出现这种错误,不清楚
@jinxc 安装socket.io为何要做那么多编译呢?
socket.io不是有内存泄露吗? 最新版本解决了吗?
@yakczh npm install都不成功,暂时不管泄露