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

6
我刚刚下载了最新版本的Expo XDE(2.20.1),并尝试将现有的react native项目转换为它。我精确地按照这些步骤进行操作,但在真实设备上使用Expo客户端打开应用程序时,出现了一个错误,显示:undefined is not an object (evaluating 'nativeVersion.major')。这个问题在Android和iOS上都会发生。
似乎Expo对react/react-native版本有严格要求,但不幸的是,我找不到版本要求列表。
我的当前依赖项(非常更新)是: "react": "16.0.0", "react-native": "0.49.3"
那么,这个错误确实来自于版本冲突吗?如果是,我该如何解决这个问题?
3个回答

4
你的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。


1
这个有文档记录吗? - marano

2

最简单的方法可能是从头开始创建一个新的Expo项目,然后再复制您的组件。我自己已经这样做了多次,它比对抗受影响的边缘条件要容易得多。


0

删除你的iOS构建(./app/ios/build)文件夹并重新构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接