You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS初始化WebSocket网关后无法启动服务器问题求助

解决NestJS WebSocket网关启动报错:TypeError: this.graphInspector.insertEntrypointDefinition is not a function

问题根源

这个报错百分百是NestJS核心包和WebSocket相关包版本不兼容导致的。新版本的@nestjs/websockets用到了@nestjs/core里还没实现的graphInspector相关方法,只要两个包版本对不上,就会触发这个错误。

解决步骤

  • 统一NestJS所有包的版本
    打开项目根目录的package.json,把所有@nestjs/*开头的依赖版本改成完全一致。比如@nestjs/core是9.4.0,那@nestjs/websockets、@nestjs/common这些也得是9.4.0。示例配置:

    {
      "dependencies": {
        "@nestjs/common": "^9.4.0",
        "@nestjs/core": "^9.4.0",
        "@nestjs/platform-express": "^9.4.0",
        "@nestjs/websockets": "^9.4.0"
        // 其他依赖保持不变
      }
    }
    
  • 重装依赖
    删掉node_modules和package-lock.json(用yarn的话删yarn.lock),然后重新安装:

    rm -rf node_modules package-lock.json
    npm install
    
  • 额外检查(可选)
    如果版本统一后还是报错,确认下@WebSocketGateway的配置没问题——你代码里的CORS配置是OK的。要是用Socket.IO,得确保装了@nestjs/platform-socket.io和socket.io;原生WebSocket的话,@nestjs/websockets就够了。

验证

重新跑npm run start:dev,版本匹配正确的话项目就能正常启动,WebSocket网关也能正常工作。

内容的提问来源于stack exchange,提问作者whodis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:06:18