Expo项目React Native版本不匹配,package.json版本正确仍报错
问题报错

React Native version mismatch. JavaScript version: 0.63.3 Native version: 0.64.2
根因分析
Expo 每个SDK版本都固定绑定了对应的React Native版本,不允许开发者手动修改package.json里的react-native依赖版本。你当前使用的Expo 43官方绑定的React Native版本就是0.64.2,你手动将其改为0.63.3就会导致JS侧版本和原生侧版本不一致,触发该报错。
修复步骤
- 第一步:删除项目下的
node_modules文件夹,以及package-lock.json(npm环境)或yarn.lock(yarn环境)文件 - 第二步:修改
package.json中的两处依赖版本:"dependencies": { ... "react-native": "0.64.2", ... }, "devDependencies": { ... "@types/react-native": "0.64.2", ... } - 第三步:重新安装依赖
若使用npm,执行npm install
若使用yarn,执行yarn install - 第四步:清除Expo缓存启动服务,执行
expo start --clear - 第五步:卸载模拟器上之前安装的旧版App,重新扫码安装启动即可
后续注意
之后升级Expo SDK时不要手动修改react、react-native这类核心依赖的版本,建议直接使用expo upgrade命令自动匹配所有依赖的对应版本,避免出现版本不兼容问题。
内容的提问来源于stack exchange,提问作者Rodrigo Fernandes
相关产品推荐
相关产品推荐

