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

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

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


当前回答

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

<application
     android:usesCleartextTraffic="true"

对androidManifest.xml

其他回答

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

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

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

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

现在你可以出发了。

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

如果你用create-react-native-app创建react-native-app。你应该有一个app.json (expo)。还有一个包裹。Json文件,检查世博版本是否匹配并相应更改。例如,在我的案例中,问题是在app.json文件中,我有一个25.0.0版本的expo sdkVersion属性,我将其更改为23.0.0,一切正常工作。

package.json:

"dependencies": {
    "expo": "^23.0.4",
    "react": "16.0.0",
    "react-native": "^0.50.4"
  }

app.json:

{
  "expo": {
    "sdkVersion": "23.0.0" // before was 25.0.0
  }
}

我已经尝试了上面的解决方案,但将此添加到AndroidManifest.xml似乎可以修复它。

  android:usesCleartextTraffic="true"

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

可能的解决办法:

删除package-lock.json 执行命令watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/ hurry -map-react-native-packager-* && rm -rf node_modules/&& npm install

如果问题仍然存在,尝试直接从Xcode执行项目

这对我很管用。