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

升级Node.js 20.9.0后,创建React应用触发EventEmitter内存泄漏警告

解决Node.js 20.9.0创建React应用时的EventEmitter内存泄漏警告

这个警告是Node.js 20.9.0版本的已知兼容性问题,和依赖下载过程中TLS Socket的监听器数量溢出有关,下面是几个可行的解决办法:

  • 临时提升监听器上限(快速生效)
    在创建项目时通过环境变量临时调整Node.js的监听器上限:

    • Windows cmd:
      set NODE_MAX_LISTENERS=100 && npx create-react-app my-app
      
    • Windows PowerShell:
      $env:NODE_MAX_LISTENERS=100; npx create-react-app my-app
      
    • macOS/Linux:
      NODE_MAX_LISTENERS=100 npx create-react-app my-app
      

    已经创建好的项目,可以修改package.json里的启动脚本,比如:

    "scripts": {
      "start": "NODE_MAX_LISTENERS=100 react-scripts start"
    }
    
  • 切换Node.js版本
    该问题在Node.js 20.8.1或20.10.0及以上版本中已修复,用nvm快速切换版本:

    # 安装并切换到20.8.1
    nvm install 20.8.1
    nvm use 20.8.1
    
  • 换用其他包管理器
    npm的依赖下载逻辑可能触发这个问题,换成yarn或pnpm试试:

    # 使用yarn创建项目
    yarn create react-app my-app
    # 使用pnpm创建项目
    pnpm create vite@latest my-app --template react
    
  • 清理全局冲突包
    全局安装的旧版create-react-app或vite可能和Node.js 20.9.0不兼容,先卸载全局包再重新调用:

    npm uninstall -g create-react-app
    npm uninstall -g vite
    # 调用最新版包创建项目
    npx create-react-app@latest my-app
    npx vite@latest my-app --template react
    

注:这个警告只是提示潜在内存泄漏,实际不会影响项目运行,若不介意可以忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:27:16