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

React Native使用Hermes引擎时'main未注册'错误求助

React Native + Hermes 持续出现“main has not been registered”错误排查求助

开发阶段使用Hermes引擎时,反复遇到以下错误,导致开发停滞:

ERROR Invariant Violation: "main" has not been registered. This can happen if:

  • Metro(本地开发服务器)在错误的文件夹中运行。检查Metro是否在运行,停止并在当前项目中重启。
  • 某个模块因加载错误导致未调用AppRegistry.registerComponent,js engine: hermes

已尝试清除Metro缓存、重建缓存、重启项目等常规操作,问题仍未解决。

项目配置文件

package.json

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start --port 54842",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "^6.5.2",
    "@fortawesome/free-regular-svg-icons": "^6.5.2",
    "@fortawesome/free-solid-svg-icons": "^6.5.2",
    "@fortawesome/react-native-fontawesome": "^0.3.2",
    "@react-native-community/slider": "^4.5.2",
    "@react-navigation/bottom-tabs": "^6.5.20",
    "@react-navigation/material-top-tabs": "^6.6.5",
    "@react-navigation/native": "^6.1.9",
    "@react-navigation/stack": "^6.3.20",
    "axios": "^1.6.2",
    "expo": "^51.0.8",
    "expo-av": "^14.0.5",
    "expo-file-system": "^17.0.1",
    "expo-media-library": "^16.0.3",
    "expo-splash-screen": "^0.27.4",
    "expo-status-bar": "^1.12.1",
    "iconv-lite": "^0.6.3",
    "js-base64": "^3.7.7",
    "moment": "^2.30.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "0.74.1",
    "react-native-dropdown-picker": "^5.4.6",
    "react-native-fast-image": "^8.6.3",
    "react-native-gesture-handler": "~2.16.1",
    "react-native-modal-dropdown": "^1.0.2",
    "react-native-pager-view": "6.3.0",
    "react-native-picker-select": "^9.1.3",
    "react-native-safe-area-context": "4.10.1",
    "react-native-screens": "3.31.1",
    "react-native-select-dropdown": "^4.0.1",
    "react-native-slider": "^0.11.0",
    "react-native-svg": "15.2.0",
    "react-native-tab-view": "^3.5.2",
    "react-redux": "^9.0.2",
    "redux": "^5.0.0",
    "string-similarity-js": "^2.1.4",
    "text-encoding": "^0.7.0"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0"
  },
  "private": true,
  "name": "vokok-app",
  "version": "1.0.0"
}

app.json

{
  "expo": {
    "name": "vokok-app",
    "slug": "vokok",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "userInterfaceStyle": "light",
    "plugins": [
      [
        "expo-av",
        {
          "microphonePermission": "Allow ${PRODUCT_NAME} to access your microphone"
        }
      ]
    ],
    "splash": {
      "image": "./assets/sta_header_logo_rec.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "supportsTablet": true,
      "bundleIdentifier": "com.stormstudy.vokok",
      "buildNumber": "1.0.0",
      "permissions": [
        "INTERNET",
        "ACCESS_NETWORK_STATE"
      ]
    },
    "android": {
      "package": "com.stormstudy.vokok",
      "versionCode": 1,
      "adaptiveIcon": {
        "foregroundImage": "./assets/icon_android.png",
        "backgroundColor": "#ffffff"
      },
      "permissions": [
        "INTERNET",
        "ACCESS_NETWORK_STATE",
        "android.permission.RECORD_AUDIO",
        "android.permission.MODIFY_AUDIO_SETTINGS"
      ]
    },
    "web": {
      "favicon": "./assets/favicon.png"
    },
    "packagerOpts": {
      "port": 57577
    },
    "extra": {
      "eas": {
        "projectId": "fedf46ea-d30c-4f1b-8fb9-4b285ff246dd"
      }
    }
  }
}

AppEntry.js

import { registerRootComponent } from 'expo';
import { AppRegistry, Platform } from 'react-native';
import App from '../../App';

registerRootComponent(App);
AppRegistry.registerComponent('main', () => App);

已尝试的排查操作

  • 调整AppEntry.js,先后测试过单独使用registerRootComponent、同时使用registerRootComponent和AppRegistry.registerComponent,均未解决错误。
  • 删除node_modules和package-lock.json后重新安装依赖,问题依旧存在。

请求针对React Native + Hermes场景提供该错误的解决思路和具体方案,感谢各位的建议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 15:47:38