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

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

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


当前回答

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

其他回答

对于那些无法通过关闭和重建来修复的Android开发人员,在模拟器/设备上手动卸载应用程序。

在我的情况下(不使用博览会和Android构建)

package.json

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.2"
}

和app.json

{
  "sdkVersion": "27"
}

解决问题

还要确保在模拟器中启用了wifi

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

Opene管理扫描/ android / app / build.gradle

试一试:

编译("com.facebook.react:react-native:0.51.0") {force = true}

而不是 编译"com.facebook.react:react-native:0.51.0" {force = true}

裁判:链接