React Native Version Mismatch

Sam*_*Rao 166 react-native react-native-android react-native-ios

在初始化新项目然后启动x-code模拟器时获取以下消息."React-Native Version Mismatch"Javascript版本0.50.1原生版本:0.50.0

确保您已重建本机代码...

有谁知道这里发生了什么,可以帮助我吗?

谢谢!

在此输入图像描述

Val*_*Val 283

这就是我用它做的:

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

您可能忘记从另一个项目关闭nodejs终端,他们碰巧安装了不同的反应版本.

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


小智 28

如果您使用create-react-native-app创建了您的react-native应用程序.你应该有一个app.json(世博会).和package.json文件一样,检查expo版本是否匹配并相应更改.例如在我的情况下,问题是在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"
  }
Run Code Online (Sandbox Code Playgroud)

app.json:

{
  "expo": {
    "sdkVersion": "23.0.0" // before was 25.0.0
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 15

只需转到您的android/app/build.gradle,然后添加到该dependencies部分:

dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true } 
}
Run Code Online (Sandbox Code Playgroud)

/// react native版本可以在package.json中找到

  • 我在哪里更改ios (5认同)

Shu*_*oel 8

只需强制在Android的应用程序级别gradle文件中对本机版本进行反应dependencies.

compile ("com.facebook.react:react-native:0.52.0") { force = true }
Run Code Online (Sandbox Code Playgroud)

为我工作

  • 这对我有用.我有0.53.3.我添加了一个0.53.3的力,重新启动终端,运行`npm start - --reset-cache`并运行`react-native run-android` (2认同)

Mar*_*ery 7

如果您通过 Expo 运行 React Native 应用程序,升级 React Native 可能会导致此错误(如https://github.com/expo/expo/issues/923 所述)。

如果这是您的情况,您的选择是:

  1. 将 Expo(列在您的 中package.json)转换为与您的 React Native 版本兼容的版本(如果存在,则可能并非如此-根据链接的问题,我认为 Expo 支持会跟踪 React Native 版本)。
  2. 放弃您的更改,删除并重新安装您的 Node 模块,从 Expo 中弹出,然后(在检查您仍然可以在弹出后运行您的应用程序后)再次尝试升级。


小智 7

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

  • 从 IOS 模拟器卸载应用程序对我有用。 (3认同)

小智 6

我有这个问题的时间最长,上述解决方案都没有帮助.我正在升级create-react-native-app项目中的本地反应,直到我发现并非所有版本的Expo都支持最新的React Native.

在文档中找到此页面,该文档显示正式支持React Native,React和Expo的哪些版本组合:

资料来源:https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

编辑app.jsonpackage.json文件以匹配相应的版本并运行使npm install一切都恢复正常.


小智 6

我正在使用物理设备,就我而言,这解决了问题:

  1. 卸载应用
  2. lsof -i :8081
  3. kill -9 PID
  4. 重建应用程序(react-native run-androidreact-native run-ios


小智 5

我之前从未见过这个错误,但每当我无法让Xcode和React-Native在一起玩的时候,我会做一些事情.检查我正在使用的Xcode版本.如果需要更新,我会更新它.然后清理守望者和缓存是我去的第二个地方.我不使用reset cache命令.它总是说我需要验证缓存,所以我跳过它(你可以这样做,但我只是感到困惑).我使用rm -rf $ TMPDIR/react-*来摆脱任何缓存的构建.如果这不起作用,我尝试在Xcode中构建应用程序,然后从那里开始工作,用react-native run-ios构建它.有了这个错误消息,您似乎可以从尝试使用Xcode构建它开始.希望有所帮助...让我知道你的进步.祝好运!(此外,您可以更新到RN 0.51作为另一种尝试同步您的版本.)


Nit*_*nse 5

在build.gradle文件中添加以下内容

implementation ("com.facebook.react:react-native:0.51.0") {
    force = true;
}
Run Code Online (Sandbox Code Playgroud)

替换0.51.0为package.json中的版本


ket*_*aBU 5

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

  android:usesCleartextTraffic="true"
Run Code Online (Sandbox Code Playgroud)

  • 它就像魅力一样..这就是我永远不会喜欢android的原因..总有一个神奇的词可以解决你的问题,这些问题已经让你疯狂了好几个小时。 (2认同)