无法将现有React Native转换为Expo:与nativeVersion.major错误
问题描述:
刚刚下载了Expo XDE(2.20.1)的最新版本,并试图将现有的反应原生项目转换为它。我跟着正是这些steps,和一个真正的设备上打开世博会的客户端应用程序时,我得到了一个错误说:无法将现有React Native转换为Expo:与nativeVersion.major错误
不确定是不是(评估“nativeVersion.major”)的对象
这个问题同时发生在Android和iOS上。
似乎世博会对反应/反应原生版本有严格的要求,但不幸的是,我找不到版本要求列表。
我现在的依赖(这是相当先进的)是: "react": "16.0.0", "react-native": "0.49.3"
那么,这是否错误确实是从版本冲突来了?如果是这样,我该如何解决这个问题?
答
您的JS依赖项需要匹配本机代码。随着世博会的SDK 21,这是基于关闭的阵营原生0.48,您可以使用(推荐):
"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。
答
从零开始创建新的世博项目可能是最容易的,然后复制您的组件。我自己做过几次这样的事情,这远比打击任何边缘条件对你的影响要容易得多。
答
删除您的iOS版本(./app/ios/build
)文件夹并重新构建。
这是否记录在任何地方? – marano