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

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

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


当前回答

在你的android应用级别的gradle文件中,在依赖项中强制react原生版本。

compile ("com.facebook.react:react-native:0.52.0") { force = true }

为我工作

其他回答

如果你用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
  }
}

这是我对它所做的:

关闭所有终端并再次运行构建。

你可能忘记从另一个项目关闭nodejs终端,而他们碰巧安装了不同的react版本。

因此,从nodejs服务器获取的代码与本机代码冲突。

这对我很有效

博览会更新39.0.0 -npm

因为我的expo版本是38(Check in package.json)。

这对我来说很管用:

react-native start --reset-cache

我正在使用物理设备,在我的情况下,这解决了问题:

卸载应用程序 Lsof -i:8081 kill -9 PID 重新构建应用程序(react-native run-android或react-native run-ios)