React Native版本不匹配。原生0.54.4和Javascript 0.52

时间:2018-05-08 12:46:51

标签: android react-native expo

经过两天的研究,我希望有人能够朝着正确的方向向我发表讲话。 升级RN版本后,我在尝试在android上执行时遇到错误: error on android

我需要那个版本的RN,因为库依赖(我能够上下改变RN版本),并且我在package.json和app.json上不断更新expo版本{ {3}}

但我无法更新javascript版本。它来自哪里?

除此之外,在iOS上正常运行。那里有解决方案吗?

谢谢!

3 个答案:

答案 0 :(得分:0)

您可能已经注意到link you shared,原生版本0.54.x适用于Expo 26版。

错误消息告诉您,您正在使用与Expo v25相关联的React Native版本。 如果要解决此问题,请确保您的React Native版本为0.54.x,并且您的Expo版本为26。

或者您也可以使用Expo使用的React Native分支: json "react-native": "https://github.com/expo/react-native/archive/sdk-26.0.0.tar.gz"

所有这些都说,最新的版本是27,所以也许只是一直更新:)

如果这是一个独立版本,那么请确保使用最新的本机模块更新它,因为这可能导致平台特定错误。

答案 1 :(得分:0)

我曾经遇到过这种不匹配。因为我打开了一个不同的旧项本服务器关闭的不同项目。所以新项目运行旧服务器不匹配。

尝试关闭服务器并再次运行项目。

答案 2 :(得分:0)

这是由于Android与您的RN项目相比具有不同版本的React Native。您可以强制Android项目使用特定版本的React Native,默认情况下,在Android内部文件(应用程序的build.gradle)中未指定React Native版本。

你的app build.gradle现在看起来很像。

compile "com.facebook.react:react-native:+" 

您应该将build.gradle更新为

compile ("com.facebook.react:react-native:<your version of RN here>") {
    force = true
} 

实施例

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

如果您正在寻找应用程序gradle文件,则应该位于此处:RN-Project/android/app/build.gradle

这些是我为使其发挥作用而采取的步骤。我希望这有帮助。