我按照egg-socket.io项目中README的步骤,用npm并配置了这个插件,但是在npm run dev的时候一直报如下错误:
/root/projects/agent-server/node_modules/[email protected]@egg/lib/application.js:38
throw e;
^
TypeError: Cannot convert undefined or null to object
at Namespace.use (/root/projects/agent-server/node_modules/[email protected]@socket.io/lib/namespace.js:103:21)
at initNsp (/root/projects/agent-server/node_modules/[email protected]@egg-socket.io/lib/io.js:80:9)
at module.exports.app (/root/projects/agent-server/node_modules/[email protected]@egg-socket.io/lib/io.js:55:5)
at AppWorkerLoader.loadFile (/root/projects/agent-server/node_modules/[email protected]@egg-core/lib/loader/egg_loader.js:270:34)
at getLoadUnits.forEach.unit (/root/projects/agent-server/node_modules/[email protected]@egg-core/lib/loader/mixin/custom.js:25:29)
at Array.forEach (native)
at AppWorkerLoader.loadCustomApp (/root/projects/agent-server/node_modules/[email protected]@egg-core/lib/loader/mixin/custom.js:25:8)
at AppWorkerLoader.load (/root/projects/agent-server/node_modules/[email protected]@egg/lib/loader/app_worker_loader.js:33:10)
at new Application (/root/projects/agent-server/node_modules/[email protected]@egg/lib/application.js:34:19)
at Object.<anonymous> (/root/projects/agent-server/node_modules/[email protected]@egg-cluster/lib/app_worker.js:12:13)
这是什么原因呢?
node版本是6.10.2
npm版本3.10.10
egg-socket.io是直接用npm安装的(也用cnpm安装过,一样的错误)
1.4.0 也遇到同样的问题, 之前的 egg1.1.0 一直没有问题,升级就悲催了
我确实也是 egg 1.4.0,egg-socket.io 2.0.0 是不是版本bug?
我看下是什么原因
已经找到问题了~~ egg-socket.io 2.0.0的原因,退回 egg-socket.io 1.2.2就好了,和egg版本 无关
本地可以复现。初步判断是socket.io自己偷偷改了什么。 看这个ci之前是没问题的 https://travis-ci.org/eggjs/egg-socket.io/jobs/237482472 。我来细看,底下改了什么。
降级egg-socket.io的确可用,目前就暂时先用降级的版本了
delete this.server.eio.initialPacket;
然而, this.server.eio 本身是 undefined 囧...这个breakchangelog
Hi everyone, I have reported this issue to the socket.io. Plz, follow it.
遇到同道中人了 我下午刚好在这个问题上折腾了好久!😅
解决办法是什么呢,降级吗
npm i egg-socket.io@1 --save
希望能用上2.0,谢谢
@acodercat 关注 https://github.com/socketio/socket.io/issues/2963 的进展
@ngot 先将 egg-socket.io 写死到 socket.[email protected] 吧
切换到1.2以后就报这个
module.js:487
throw err;
^
Error: Cannot find module 'uws'
at Function.Module._resolveFilename (module.js:485:15)
我是吧2.0卸载了再安装的1.2
@ngot 先将 egg-socket.io 写死到 socket.[email protected] 吧
egg-socket.[email protected]
已经发布。暂时锁死版本。 socket.io 那边居然这么久没一点动静...也是醉了
@ngot 官方修复了,可以解锁了。
我在搞了,马上发
Most helpful comment
我在搞了,马上发