无法将现有的 React Native 转换为 Expo:错误 nativeVersion.major
Cannot Convert Existing React Native to Expo: error with nativeVersion.major
刚刚下载了最新版本的 Expo XDE(2.20.1) 并尝试将现有的 React Native 项目转换到其中。我完全按照这些 steps,在真实设备上打开 Expo 客户端中的应用程序时,我收到一条错误消息:
undefined is not an object (evaluating 'nativeVersion.major')
Android 和 iOS 都有问题。
好像expo对react/react-native个版本有严格的要求,可惜找不到版本要求列表
我当前的依赖项(非常新)是:
"react": "16.0.0",
"react-native": "0.49.3"
那么,这个错误真的是版本冲突导致的吗?如果是这样,我该如何解决这个问题?
最简单的方法可能是从头开始创建一个新的 Expo 项目,然后复制您的组件。我自己已经做过好几次了,这比对抗任何影响你的边缘条件要容易得多。
删除您的 iOS 构建 (./app/ios/build
) 文件夹并重新构建。
您的 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。
刚刚下载了最新版本的 Expo XDE(2.20.1) 并尝试将现有的 React Native 项目转换到其中。我完全按照这些 steps,在真实设备上打开 Expo 客户端中的应用程序时,我收到一条错误消息:
undefined is not an object (evaluating 'nativeVersion.major')
Android 和 iOS 都有问题。
好像expo对react/react-native个版本有严格的要求,可惜找不到版本要求列表
我当前的依赖项(非常新)是:
"react": "16.0.0",
"react-native": "0.49.3"
那么,这个错误真的是版本冲突导致的吗?如果是这样,我该如何解决这个问题?
最简单的方法可能是从头开始创建一个新的 Expo 项目,然后复制您的组件。我自己已经做过好几次了,这比对抗任何影响你的边缘条件要容易得多。
删除您的 iOS 构建 (./app/ios/build
) 文件夹并重新构建。
您的 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。