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

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

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


当前回答

这尤其适用于Android Studio 3.2或更新的用户,因为这在升级之前似乎没有发生。

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

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

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

其他回答

我有这个问题很长一段时间了,上面的解决方案都没用。我在一个create-react-native-app项目中升级react native,直到我发现不是所有版本的Expo都支持最新的react native。

在文档中找到了这个页面的链接,其中显示了官方支持的React Native, React和Expo的版本组合:

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

编辑app.json和包。Json文件来匹配相应的版本,运行NPM install可以让一切恢复正常。

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

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

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

这是我对它所做的:

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

你可能忘记从另一个项目关闭nodejs终端,而他们碰巧安装了不同的react版本。

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

在你的android应用级别的gradle文件中,在依赖项中强制react原生版本。

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

为我工作

这对我很有效

博览会更新39.0.0 -npm

因为我的expo版本是38(Check in package.json)。