首页 文章

无法将现有的React Native转换为Expo:nativeVersion.major错误

提问于
浏览
6

刚刚下载了最新版本的Expo XDE(2.20.1)并尝试将现有的反应原生项目转换为它 . 我正好遵循这些steps,当在真实设备上打开Expo客户端中的应用程序时,我收到一条错误消息:

undefined不是对象(评估'nativeVersion.major')

这个问题在Android和iOS上都会发生 .

似乎expo对react / react-native版本有严格的要求,但不幸的是,我找不到版本要求列表 .

我当前的依赖项(它们是最新的)是: "react": "16.0.0", "react-native": "0.49.3"

那么,这个错误确实来自版本冲突吗?如果是这样,我该如何解决这个问题呢?

3 回答

  • 2

    您的JS依赖项需要与本机代码匹配 . 使用基于React Native 0.48的Expo SDK 21,您可以使用(推荐):

    "react": "16.0.0-alpha.12",
    "react-native": "https://github.com/expo/react-native/archive/sdk-21.0.2.tar.gz",
    

    要么:

    "react": "16.0.0-alpha.12",
    "react-native": "^0.48.4",
    

    更新依赖项时,请务必小心使用这些版本 . 即将推出的React Native 0.49(Expo SDK 22支持)需要使用React 16.0.0-beta.5 .

  • 4

    从头开始创建一个新的Expo项目,然后复制您的组件可能是最简单的 . 我自己已经做了好几次了,而且比对抗你的边缘条件要容易得多 .

  • 0

    删除您的iOS版本( ./app/ios/build )文件夹并重新构建 .

相关问题