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

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

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


当前回答

这不是一个解决方案,但在我的情况下,我在我的设备上安装了多个RN应用程序,我不知情地试图从错误的应用程序中“重新加载”。(我正在同时开发两个应用程序)所以确保你在正确的应用程序!

其他回答

当你试图在不关闭节点服务器的情况下运行前一个应用程序时,有时会发生这种情况,所以尝试重新启动React。要做到这一点,只需运行以下命令:

1. To kill current processes
killall node -9 

2. To Start React  Native
react-native start 

3. Then Run android
react-native run-android

我试图从WebStorm中构建和运行一个React Native应用程序,然后遇到了这个问题。对我来说,简单的解决方案是:

watchman watch-del-all

在macOS上,如果watchman还没有安装,请使用Homebrew安装:

brew install watchman

如果你用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 Studio 3.2或更新的用户,因为这在升级之前似乎没有发生。

如果你没有在你的配置(包)中更改React Native的版本。),版本不匹配的问题可能来自于检出git中的另一个提交后对项目文件的未检测到的更改。要克服这个问题,请确保:

清洁构建:构建>清洁项目 用Gradle文件同步项目:在导航栏上的“停止”按钮旁边 制作项目:导航栏中第一个带有锤子图标的按钮 最后运行/调试应用程序

这也将克服会话“应用程序”:错误安装APK错误,可能发生由于即时运行,一旦应用程序从设备上卸载。

我更新了app.json中的SDK版本,以匹配包中的react原生SDK版本。Json来修复这个问题

在app.json

"sdkVersion": "37.0.0",

在package.json

"react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",