当我初始化一个新项目,然后启动Xcode模拟器时,得到以下消息:

React-Native版本不匹配 Javascript版本0.50.1 本机版本:0.50.0 确保您已经重新构建了本机代码. ...

有谁知道这是怎么回事能帮帮我吗?


当前回答

对于在iOS上使用CocoaPods遇到同样问题的其他人:

我尝试了上面所有的解决方案,但运气不佳。我在我的项目中有一些本地依赖的包,其中一些需要的pod模块正在安装。问题是React是在我的Podfile中指定的,但是React pod并没有通过使用React -native-git-upgrade自动升级。

修复方法是通过运行cd ios && pod install来升级所有已安装的pod。

其他回答

这个答案发表于2020年, 在3个步骤中修复此错误:

第一步:我改变了expo在package中的值。Json文件到最新支持的版本,根据博览会文档(访问这里)。

第二步:我将app.json文件中的sdkVersion的值更改为package.json中expo的值。(与上一步数量相等)。

第三步:我在包中改变了react-native的值。根据expo文档(请访问这里),将json文件更改为与React Native Version相同的值。

现在你可以出发了。

使用NPM install来安装指定版本的依赖项,然后NPM开始运行项目

对于在iOS上使用CocoaPods遇到同样问题的其他人:

我尝试了上面所有的解决方案,但运气不佳。我在我的项目中有一些本地依赖的包,其中一些需要的pod模块正在安装。问题是React是在我的Podfile中指定的,但是React pod并没有通过使用React -native-git-upgrade自动升级。

修复方法是通过运行cd ios && pod install来升级所有已安装的pod。

I've never seen this error before, but whenever I can't get Xcode and React-Native to play well together, I do a couple of things. Check what version of Xcode I'm working with. If it needs to be updated, I update it. Then clearing watchman and the cache are the second place I go. I don't use the reset cache command. It always says that I need to verify the cache, so I skip that (you can do it though, I just get confused). I use rm -rf $TMPDIR/react-* to get rid of any cached builds. If that doesn't work, I try to build the app in Xcode, then work my way from there, to build it with react-native run-ios. With this error message, it seems you might start by trying to build it with Xcode. Hope that helps...let me know your progress with it. Good luck! (Also, you could update to RN 0.51 as another attempt to get your versions synced.)

所有那些关于改变版本以适应我的错误的答案。

这个错误没有告诉您这个版本来自哪里。在所有文件中搜索,我发现只有1个地方定义了javascript版本: 问题是这个包(\android\app\src\main\assets\index.android.bundle)需要重新生成,因为它包含的版本比安装的包要旧。

为了重新生成该文件,我必须运行以下命令:

react-native bundle --platform android --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

因为我已经升级了我的react-native,所以运行这个命令给了我一些需要解决的错误(主要是安装新的依赖项)。

清理缓存,在android studio中重新加载,重新加载react,重新加载终端,创建一个新项目并传输文件,运行watchman,所有这些都不能工作,因为特定的bundle文件恰好在Git repo中被跟踪。

我更新了react-native版本:0.57.4到0.59.8,我得到以下消息“react-native版本不匹配”

这个解决方案对我来说很有效:

1.- In the folder of the project, update all the code react-native in the Android Studio:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

2.- Go to Android Studio and FILE->>INVALIDATE CACHES/RESTART
3.- In Android Studio, BUILD->>CLEAN PROJECT
4.- In Android Studio, BUILD->>REBUILD PROJECT
5.- Delete App in simulator or Devices
6.- Run...

希望对大家有所帮助!