React Native 版本不匹配 0.60.4
React Native Version Mismatch 0.60.4
升级到 react-native:0.60.4 后,我无法 运行 我的应用程序,并且出现 react-native 版本不匹配错误。
package.json
{
"name": "abcd",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@react-native-community/async-storage": "^1.6.1",
"jetifier": "^1.6.3",
"moment": "^2.24.0",
"react": "16.8.3",
"react-native": "^0.60.4",
"react-native-btr": "^1.1.4",
"react-native-document-picker": "^2.3.0",
"react-native-elements": "^1.1.0",
"react-native-gesture-handler": "^1.3.0",
"react-native-material-dropdown": "^0.11.1",
"react-native-modal-overlay": "^1.3.1",
"react-native-progress": "^3.6.0",
"react-native-progress-bar": "^0.1.2",
"react-native-screens": "^1.0.0-alpha.22",
"react-native-searchable-dropdown": "^1.1.1",
"react-native-simple-dialogs": "^1.1.0",
"react-native-table-component": "^1.2.0",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^3.8.1",
"react-navigation-fluid-transitions": "^0.3.1"
},
"devDependencies": {
"@babel/core": "7.4.3",
"@babel/runtime": "7.4.3",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"metro-react-native-babel-preset": "0.53.1",
"react-test-renderer": "16.8.6",
"reactotron-react-native": "^3.2.2",
"reactotron-redux": "^3.1.0"
},
"jest": {
"preset": "react-native"
}
}
给您执行的请求信息有可能是正确的。执行消息。
watchman watch-del-all && react-native start --reset-cache
1- 关闭所有终端/bash 屏幕
2- 打开新的 bash 并 转到项目文件夹
cd ~/Documents/projects/myProject
3- 运行 你的项目
react-native run-ios //react-native run-android
4- npm start 在你的路径中
myProject$ npm start
最好!
最后我用自己的方式解决了
- 创建另一个空项目
- 复制你的资源+packages.json到新项目
- 在新项目中安装 npm
问题已解决。
这个问题没有确切的解决办法,因为所有的系统和安装以及变化版本都是无穷无尽的。
所以为了最好地解决这个问题而不拉扯你的头发,就是
- 使用
npx react-native upgrade
更新您的 react-native
- 以防万一还像这样在您的系统上全局安装 React Native
npm install -g react-native-cli
- 然后使用
npx react-native init AwesomeProject
创建一个全新的 EXPO 或 React Native 项目
- 然后在您的
package.json
中查看新项目中 react
和 react-native
的版本,并将它们与您的工作项目进行比较
例如这是我的工作项目
"expo-barcode-scanner": "~8.2.1",
"expo-linear-gradient": "~8.2.1",
"expo-status-bar": "^1.0.2",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "^0.61.4",
这是我的新项目Package.json
"expo-splash-screen": "^0.5.0",
"expo-status-bar": "^1.0.0",
"expo-updates": "~0.2.10",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "~0.62.2",
最后我使用了我的新项目中的 react
和 react-native
版本,一切都完美无缺
这是我工作项目的最终代码
"expo-barcode-scanner": "~8.2.1",
"expo-linear-gradient": "~8.2.1",
"expo-status-bar": "^1.0.2",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "~0.62.2",
升级到 react-native:0.60.4 后,我无法 运行 我的应用程序,并且出现 react-native 版本不匹配错误。
package.json
{
"name": "abcd",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@react-native-community/async-storage": "^1.6.1",
"jetifier": "^1.6.3",
"moment": "^2.24.0",
"react": "16.8.3",
"react-native": "^0.60.4",
"react-native-btr": "^1.1.4",
"react-native-document-picker": "^2.3.0",
"react-native-elements": "^1.1.0",
"react-native-gesture-handler": "^1.3.0",
"react-native-material-dropdown": "^0.11.1",
"react-native-modal-overlay": "^1.3.1",
"react-native-progress": "^3.6.0",
"react-native-progress-bar": "^0.1.2",
"react-native-screens": "^1.0.0-alpha.22",
"react-native-searchable-dropdown": "^1.1.1",
"react-native-simple-dialogs": "^1.1.0",
"react-native-table-component": "^1.2.0",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^3.8.1",
"react-navigation-fluid-transitions": "^0.3.1"
},
"devDependencies": {
"@babel/core": "7.4.3",
"@babel/runtime": "7.4.3",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"metro-react-native-babel-preset": "0.53.1",
"react-test-renderer": "16.8.6",
"reactotron-react-native": "^3.2.2",
"reactotron-redux": "^3.1.0"
},
"jest": {
"preset": "react-native"
}
}
给您执行的请求信息有可能是正确的。执行消息。
watchman watch-del-all && react-native start --reset-cache
1- 关闭所有终端/bash 屏幕
2- 打开新的 bash 并 转到项目文件夹
cd ~/Documents/projects/myProject
3- 运行 你的项目
react-native run-ios //react-native run-android
4- npm start 在你的路径中
myProject$ npm start
最好!
最后我用自己的方式解决了
- 创建另一个空项目
- 复制你的资源+packages.json到新项目
- 在新项目中安装 npm
问题已解决。
这个问题没有确切的解决办法,因为所有的系统和安装以及变化版本都是无穷无尽的。
所以为了最好地解决这个问题而不拉扯你的头发,就是
- 使用
npx react-native upgrade
更新您的 - 以防万一还像这样在您的系统上全局安装 React Native
npm install -g react-native-cli
- 然后使用
npx react-native init AwesomeProject
创建一个全新的 EXPO 或 React Native 项目
- 然后在您的
package.json
中查看新项目中react
和react-native
的版本,并将它们与您的工作项目进行比较
react-native
例如这是我的工作项目
"expo-barcode-scanner": "~8.2.1",
"expo-linear-gradient": "~8.2.1",
"expo-status-bar": "^1.0.2",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "^0.61.4",
这是我的新项目Package.json
"expo-splash-screen": "^0.5.0",
"expo-status-bar": "^1.0.0",
"expo-updates": "~0.2.10",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "~0.62.2",
最后我使用了我的新项目中的 react
和 react-native
版本,一切都完美无缺
这是我工作项目的最终代码
"expo-barcode-scanner": "~8.2.1",
"expo-linear-gradient": "~8.2.1",
"expo-status-bar": "^1.0.2",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "~0.62.2",