"React Native 版本不匹配" 错误
编辑页面
了解 React Native 版本不匹配的含义,以及如何在 Expo 或 React Native 应用中解决它。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
在开发 Expo 或 React Native 应用时,常常会遇到如下错误:
React Native 版本不匹配。JavaScript 版本:X.XX.XNative 版本:X.XX.X请确保你已经重新构建了原生代码...这个错误意味着什么
你在终端中运行的打包器(使用 npx expo start)所使用的 react-native JavaScript 版本,与设备或模拟器上的原生应用版本不同。这种情况可能发生在你升级了 React Native 或 Expo SDK 版本之后,或者 连接到了错误的本地开发服务器。
如何修复
-
关闭所有正在运行的开发服务器(你可以使用
ps命令列出所有终端进程,并使用ps -A | grep "expo\|react-native"搜索 Expo CLI 或 React Native Community CLI 进程)。 -
如果这是一个 Expo 项目,请从你的 app.json 文件中移除
sdkVersion字段,或者确保它与 package.json 文件中的expo依赖版本一致。 -
如果这是一个 Expo 项目,你应该确保你的
react-native版本正确。运行npx expo-doctor会显示你应该安装的react-native版本警告。如果你确实升级到了更新的 SDK,请确保运行npx expo install --fix并按照提示操作。Expo CLI 会确保expo和react-native等包的依赖版本保持一致。 -
如果这是一个裸 React Native 项目,并且这个错误是在你升级 React Native 版本后立即出现的,你应该仔细检查是否正确完成了每一个升级步骤。
-
最后:
- 通过运行
rm -rf node_modules && npm cache clean --force && npm install && watchman watch-del-all && rm -rf $TMPDIR/haste-map-* && rm -rf $TMPDIR/metro-cache && npx expo start --clear来清除打包器缓存 - 如果这是一个裸 React Native 项目,运行
npx pod-install,然后重新构建你的原生项目(运行yarn android重新构建 Android,运行yarn ios重新构建 iOS)
- 通过运行