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

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

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


当前回答

对于我的情况下,我在iOS上面临它,我试图重置和清除所有缓存使用以下命令,但失败了,尽管许多评论说,根本原因是有react打包器在某处意外运行,我重新启动了我的mac,问题仍然存在。

watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache

解决方案是,删除build文件夹@ /ios/build,然后执行react-native run-ios解决了它

其他回答

我们所做的修正是确保在构建之前设置ANDROID_HOME和PATH变量。

首先,运行以下两个命令,然后为设备构建应用程序。

export ANDROID_HOME=/Users/username/MyFiles/applications/androidsdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

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

这个错误没有告诉您这个版本来自哪里。在所有文件中搜索,我发现只有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中被跟踪。

我有这个问题很长一段时间了,上面的解决方案都没用。我在一个create-react-native-app项目中升级react native,直到我发现不是所有版本的Expo都支持最新的react native。

在文档中找到了这个页面的链接,其中显示了官方支持的React Native, React和Expo的版本组合:

来源:https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

编辑app.json和包。Json文件来匹配相应的版本,运行NPM install可以让一切恢复正常。

在我的案例中,安装一个新的虚拟设备有所帮助。现在我每个应用程序使用一个设备。

我从stackoverflow找到了另一个问题的答案,我喜欢把它放在这里。

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

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

如果sdkVersion在你的app.json文件中不存在,请像这样添加。 :“sdkVersion xx.x。X”(与package.json中的expo版本相同)

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