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

Expo开发客户端运行报错:npm依赖版本冲突无法解决

解决Expo项目依赖冲突及安装报错问题

一、优先修复@react-navigation版本不兼容问题

@react-navigation/stack与@react-navigation/native必须保持大版本一致(如均为v6或v5),执行以下命令强制安装兼容版本:

# 安装当前主流稳定的v6版本
npm install @react-navigation/native@^6.0.0 @react-navigation/stack@^6.0.0

二、处理全局peer依赖冲突

方法1:用legacy-peer-deps忽略严格校验

这是解决多peer依赖冲突最快捷的方案,适配老项目或依赖复杂的场景:

# 先删除现有node_modules和package-lock.json,再执行
npm install --legacy-peer-deps

方法2:通过npm overrides强制统一依赖版本

在你的package.json中添加overrides字段,强制指定冲突依赖的兼容版本(比如匹配Expo要求的react版本、适配的firebase/native-base版本),示例:

{
  "name": "your-project",
  "version": "1.0.0",
  "overrides": {
    "react": "18.2.0", // 对应你使用的Expo SDK版本,比如Expo 49适配18.2.0
    "@react-native-firebase/app": "18.7.0", // 替换为与Expo兼容的firebase版本
    "native-base": "3.4.28" // 替换为适配的native-base版本
  },
  // 其他原有字段...
}

添加后重新执行npm install即可。

三、Expo项目专属优化操作

  • 优先用expo install替代npm install安装依赖,Expo会自动匹配兼容版本:
    expo install @react-navigation/native @react-navigation/stack react-native-screens react-native-safe-area-context
    
  • 清理npm缓存避免残留问题:
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install --legacy-peer-deps
    

四、额外检查项

  • 确认Expo SDK版本与@react-native-firebase、native-base等第三方库的版本兼容,可查看对应库的官方文档确认适配范围。
  • 若问题仍存在,建议贴出完整的package.json内容,以便精准定位冲突点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:01:15