Expo SDK32 undefined 不是对象(评估 '_expo2.default.KeepAwake')
Posted
技术标签:
【中文标题】Expo SDK32 undefined 不是对象(评估 \'_expo2.default.KeepAwake\')【英文标题】:Expo SDK32 undefined is not an object (evaluating '_expo2.default.KeepAwake')Expo SDK32 undefined 不是对象(评估 '_expo2.default.KeepAwake') 【发布时间】:2019-10-10 13:10:58 【问题描述】:我直接按照 Expo 文档中说明的步骤将我的 React Native 应用程序的 expo 从 SDK25 升级到了 SDK32。 当我尝试将应用程序运行到 Expo 客户端时,我收到以下错误
undefined is not an object (evaluating '_expo2.default.KeepAwake') <unknown> crna-entry.js:20:17 loadModuleImplementation require.js:292:12 guardedLoadModule require.js:179:45 global code <unknown file>:0
环境
Expo CLI 2.6.14 节点:10.0.0 npm: 6.5.0 世博会:^32.0.0 => 32.0.0 反应:16.5.0 => 16.5.0 反应原生:https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz => 0.57.1 反应导航:^3.0.9 => 3.0.9【问题讨论】:
【参考方案1】:移除 react-native-scripts 并更新主键
【讨论】:
这是什么意思?删除 react-native-scripts?他们不都是反应原生脚本吗? ? 你是如何更新主键的? @AngelGarcia 在“package.json”中进行如下修改后,错误消失了。 (旧)“main”:“./node_modules/react-native-scripts/build/bin/crna-entry.js”,(新)“main”:“./node_modules/expo/AppEntry.js”,跨度> 【参考方案2】:升级您的项目以使用 Expo CLI。
对package.jso
n 进行这些更改:
在scripts
配置中将react-native-scripts
替换为expo
。
示例:
"scripts":
"start": "expo start",
"eject": "expo eject",
"android": "expo start --android",
"ios": "expo start --ios",
"test": "jest"
从devDependencies
中删除react-native-scripts
。
将main
键更改为node_modules/expo/AppEntry.js
,然后运行npm start -- -c
【讨论】:
以上是关于Expo SDK32 undefined 不是对象(评估 '_expo2.default.KeepAwake')的主要内容,如果未能解决你的问题,请参考以下文章
31.0.0 不是有效的 SDK 版本。选项是 26.0.0 未版本化
JN5189使用SDK 2.6.4编译JN-AN-1243/1246等项目报undefined reference to `BOARD_CpuClockUpdate32MhzFro`错误
JN5189使用SDK 2.6.4编译JN-AN-1243/1246等项目报undefined reference to `BOARD_CpuClockUpdate32MhzFro`错误
JN5189使用SDK 2.6.4编译JN-AN-1243/1246等项目报undefined reference to `BOARD_CpuClockUpdate32MhzFro`错误