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

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

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


当前回答

如果你通过Expo运行React Native应用程序,升级React Native很容易导致这个错误(如https://github.com/expo/expo/issues/923所述)。

如果这是你的情况,你的选择是:

Bump Expo(在你的package.json中列出)到一个与你的React Native版本兼容的版本(如果有的话,可能不是这样——根据链接的问题判断,我认为Expo支持落后于React Native版本)。 放弃你的更改,删除并重新安装你的Node模块,从Expo中弹出,然后(在检查你仍然可以运行你的应用程序后弹出)再次尝试升级。

其他回答

对于我的问题修复此更改模拟器与API级别低于28。这个问题的根源是API级别28及以上的网络变化。通过添加来解决这个问题

<application
     android:usesCleartextTraffic="true"

对androidManifest.xml

我从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相同的值。

如果你通过Expo运行React Native应用程序,升级React Native很容易导致这个错误(如https://github.com/expo/expo/issues/923所述)。

如果这是你的情况,你的选择是:

Bump Expo(在你的package.json中列出)到一个与你的React Native版本兼容的版本(如果有的话,可能不是这样——根据链接的问题判断,我认为Expo支持落后于React Native版本)。 放弃你的更改,删除并重新安装你的Node模块,从Expo中弹出,然后(在检查你仍然可以运行你的应用程序后弹出)再次尝试升级。

我有这个问题很长一段时间了,上面的解决方案都没用。我在一个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可以让一切恢复正常。

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

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

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