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

React Native执行npm install时遇MaxListenersExceededWarning及多类错误

React Native npm install 报错(含WiFi断开、权限/网络错误)解决方案

核心错误分析

你遇到的问题包含四类关键错误:

  • MaxListenersExceededWarning:Node事件监听器溢出警告
  • 大量Babel插件废弃警告:旧提案插件已被ECMAScript标准替代
  • EPERM权限错误:删除node_modules目录时权限不足
  • ECONNRESET网络错误:包下载连接重置,同时触发WiFi路由器断开(大概率是高并发请求导致路由器负载过高)

分步解决方案

1. 先解决权限问题(清理残留文件)

终端的EPERM错误说明系统无法删除部分node_modules子目录,先手动清理:

  • 以管理员权限打开终端,进入项目根目录
  • 执行命令删除node_modules:
    rmdir /s /q node_modules
    
  • 删除锁文件:
    del package-lock.json
    
  • 如果还是删不掉,直接右键node_modules文件夹,选择「管理员取得所有权」后再删除

2. 优化npm配置,解决网络问题(含WiFi断开)

网络连接重置+WiFi断连,主要是npm默认并发请求数过高,超出路由器负载,同时可能存在网络不稳定问题:

  • 降低npm并发请求数:
    npm config set maxsockets 5
    
  • 切换国内npm镜像(提升下载稳定性):
    npm config set registry https://registry.npmmirror.com/
    
  • 禁用IPv6(避免部分网络环境下的连接异常):
    npm config set ipv6 false
    
  • 尝试用yarn替代npm(yarn的网络请求策略更稳定):
    npm install -g yarn
    yarn install
    

3. 处理事件监听器溢出警告

这个警告本身不阻断安装,但可以通过调整Node内存和监听器上限缓解:

  • 执行安装时增加Node内存和监听器配置:
    NODE_OPTIONS="--max-old-space-size=4096 --max-listeners=100" npm install
    

4. 修复Babel废弃插件警告

这些警告来自旧版React Native依赖的Babel插件,两种解决方式:

  • 升级React Native:如果项目RN版本较低,升级到兼容Node20的稳定版(如0.72.x及以上),新版RN已使用标准Babel转换插件
  • 手动修改Babel配置:在项目根目录的babel.config.js中,将所有@babel/plugin-proposal-*替换为对应的@babel/plugin-transform-*,例如:
    // 替换前
    plugins: ['@babel/plugin-proposal-optional-chaining']
    // 替换后
    plugins: ['@babel/plugin-transform-optional-chaining']
    

5. 版本兼容性检查

Node.js 20.7.0和npm10.1.0对部分旧版React Native支持不佳,若上述方案无效:

  • 降级Node.js到18.x LTS版本(React Native官方推荐的长期支持版本)
  • 确认项目package.json中react-native版本与Node版本兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:09:55