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

时间:2017-10-17 01:53:12

标签: react-native expo

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

  

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

Android和iOS都会出现问题。

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

我当前的依赖项(它是最新的)是: INSERT INTO Contacts ([First], [Last], [Email]], [Status], [Phone]) SELECT e.[First], e.[Last], e.[Email]], e.[Status], e.[Phone] FROM ExcelImport e WHERE NOT EXISTS (SELECT 1 FROM Contacts c WHERE c.[Email] = e.[Email])

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

3 个答案:

答案 0 :(得分: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 :(得分:2)

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

答案 2 :(得分:0)

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