You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Expo iOS启动报错:Object.defineProperty未定义及main未注册

解决React Native Expo iOS应用启动时的Object.defineProperty未定义及main未注册报错

针对你遇到的这两个报错,尝试以下解决方案:

1. 切换JS引擎至JSC

报错提示Hermes引擎出现异常,可先尝试禁用Hermes,改用JSC引擎:
在项目根目录的app.json或app.config.js中修改配置:

{
  "expo": {
    "jsEngine": "jsc"
  }
}

修改后执行npm start重启项目。

2. 彻底清理缓存

仅删除node_modules不足以清除所有缓存,执行以下命令彻底清除Metro和Expo缓存:

npx expo start --clear

也可手动删除以下目录:

  • 项目根目录下的.expo文件夹
  • node_modules/.cache文件夹

3. 修复依赖版本兼容性

可能是Expo SDK与React Native或其他依赖版本不匹配导致的问题,执行以下命令自动修复依赖:

npx expo install --fix

修复完成后重新安装依赖并启动项目:

rm -rf node_modules package-lock.json
npm install
npm start

4. 检查入口文件的AppRegistry注册

确保项目入口文件(通常是App.js或index.js)正确注册了应用组件:

import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';

AppRegistry.registerComponent(appName, () => App);

同时检查app.json中的entryPoint字段是否指向正确的入口文件。

5. 排查第三方依赖冲突

若近期添加了新的第三方依赖,可能存在兼容性问题。尝试暂时移除最近添加的依赖,重启项目验证是否解决问题,逐步排查出冲突的依赖后,更换为兼容版本或替代库。

内容的提问来源于stack exchange,提问作者EmreUSL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:31:01