【问题标题】:React Native - console.error: 'React Native version mismatchReact Native - console.error: 'React Native 版本不匹配
【发布时间】:2019-01-14 12:18:59
【问题描述】:
我正在使用 EXPO 和 React Native,应用程序运行完全正常,直到我创建一个新文件时它突然停止,即使我删除它,错误仍然存在。
我已将 React Native 更新到 V0.56.0,但仍然显示错误:
console.error: 'React Native 版本不匹配。
Javascript 版本:0.56.0
原生版本:0.52.0
在我更新之前是:
Javascript 版本:0.54.0
原生版本:0.52.0
仍然导致同样的错误?
关于如何解决此问题以及使用哪个命令更新本机版本的任何想法?
【问题讨论】:
标签:
javascript
reactjs
react-native
version
【解决方案1】:
转到项目文件夹中的package.json 文件
在哪里可以找到这样的代码
"dependencies": {
.....
"react-native": "^0.54.0",
......
},
将react-native 版本更改为0.54 并保存文件。
然后转到终端并重定向到您的项目文件夹并点击命令
npm install && expo start -c
【解决方案2】:
此答案于 2020 年发布,并于 2021 年更新,
通过 3 个步骤修复此错误:
第一步:我根据expo文档将package.json文件中expo的值更改为支持的最新版本(访问here)。
第二步:我将app.json文件中sdkVersion的值改为package.json中expo的值。(与上一步相同)。
第三步:根据博览会文件,我将package.json文件中react-native的值更改为React Native Version的相同值(访问here)。
现在你准备好了。
使用npm install安装指定版本的依赖,然后npm start运行项目
【解决方案3】:
我用过类似的东西
$ sudo npm install babel-upgrade -g
$ react-native-git-upgrade
$ npx babel-upgrade --write
$ sudo npm install babel-upgrade -g
$ npx babel-upgrade --write --install
$ react-native-git-upgrade
$ watchman watch-del-all
$ rm -rf node_modules
$ rm -rf $TMPDIR/react-*
$ rm -rf ios/Pods
$ cd ios
$ pod cache clean --all
$ pod repo update && pod install
$ cd ..
$ npm install
$ ./android/gradlew clean -p ./android/
$ rm -rf ios/build
$ react-native run-ios
$ react-native run-android
$ cd ios/
$ pod update yoga
$ pod update React/RCTNetwork
$ pod repo update
$ pod update
$ cd ..
$ pod update
$ cd ..
$ react-native run-ios
【解决方案4】:
Javascript 是安装的本机版本的一个版本,
所以,我将 sdk 版本更改为仅落后 1
在我的 package.json 中更改了这一行
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.0.tar.gz",
到
"react-native": "https://github.com/expo/react-native/archive/sdk-37.0.0.tar.gz",
并保存文件,应用程序开始工作(甚至没有重新启动应用程序)