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

Expo项目npm install出现42个依赖漏洞 audit fix报错如何解决?

解决步骤

第一步:修复peer依赖冲突

你遇到的ERESOLVE报错核心原因是react-native@0.66.1要求peer依赖的react版本为17.0.2,但你当前package.json中固定的react版本是17.0.1,版本不匹配导致:

  • 修改package.json中的依赖版本:把react和react-dom的版本号从17.0.1改为17.0.2
  • 删除项目根目录下的node_modules文件夹和package-lock.json文件
  • 执行安装命令:npm install --legacy-peer-deps

第二步:合理处理npm audit漏洞

首先要明确:React Native/Expo生态的项目,npm audit上报的大部分漏洞都不会实际影响线上业务,这些漏洞大多出现在Node.js服务端场景的子依赖中,而React Native打包后运行在客户端,根本没有触发漏洞的环境。如果确实要减少漏洞数量,可以按以下优先级处理:

  1. 先执行npm audit查看每个漏洞对应的依赖路径,判断漏洞是否和你的业务场景相关:如果漏洞属于开发依赖、或者是不会被你的代码调用的深层子依赖,直接忽略即可。
  2. 升级停止维护的直接依赖:你当前使用的react-navigation@4.x已经停止维护,升级到最新的react-navigation@6.x版本可以解决大量依赖链带来的漏洞,同时也可以把axios升级到最新的稳定版。
  3. 针对必须修复的间接依赖漏洞,你可以使用npm v8.3及以上版本支持的overrides功能,在package.json中添加配置强制指定子依赖的安全版本,示例如下:
{
  // 原有配置不变,新增以下字段
  "overrides": {
    "存在漏洞的依赖包名": "^安全版本号"
  }
}

修改后重新执行npm install --legacy-peer-deps即可生效。
4. 如果漏洞来自Expo官方管理的核心依赖,不要自行强行升级,等待Expo官方推送兼容的版本更新即可,自行升级很可能导致Expo项目运行异常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:06:09