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

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

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


当前回答

安装一个新的模拟器和关闭所有终端,只在我从Android Studio运行时才适用。现在已经不管用了。

有点违反直觉,但我注意到,当我从Android Studio运行时,地铁捆绑终端没有启动。

所以我从终端执行npx react-native run-android(这没有工作,但它确实启动地铁捆绑器),然后我从Android Studio运行该应用程序,它工作!

其他回答

对于在iOS上使用CocoaPods遇到同样问题的其他人:

我尝试了上面所有的解决方案,但运气不佳。我在我的项目中有一些本地依赖的包,其中一些需要的pod模块正在安装。问题是React是在我的Podfile中指定的,但是React pod并没有通过使用React -native-git-upgrade自动升级。

修复方法是通过运行cd ios && pod install来升级所有已安装的pod。

如果你用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错误,可能发生由于即时运行,一旦应用程序从设备上卸载。

尝试更改包中指定的react-native版本。将json(在dependencies - react-native下)改为与错误消息中显示的“Native Version”相同。然后再次运行'npm install'。

对于使用monorepo运行的我来说,在yarn.lock中有一个隐藏的react-native版本。它不存在于任何包装中。Json,但从未被删除。

我从yarn中删除了特定的react-native版本。锁上,又做了一个

yarn install

这清理了很多旧的东西,并确保一切正常工作。