首次启动React Native应用时出现AppRegistry错误求助
解决Invariant Violation: "reactNative" 未注册问题
问题背景
将App.tsx移动到src文件夹后,出现以下错误:
Invariant Violation: "reactNative" 未注册。可能原因如下:
- Metro(本地开发服务器)在错误目录运行。请检查Metro是否运行,停止后在当前项目重启。
- 某模块加载失败导致未调用AppRegistry.registerComponent,JS引擎:hermes
用户当前index.js代码如下:
import {AppRegistry} from 'react-native'; import App from './src/App'; import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App);
解决方案
1. 重启Metro服务器并确认运行目录
- 终止当前Metro进程(终端按
Ctrl+C) - 切换到项目根目录,执行命令:
npx react-native start - 重启模拟器/真机上的应用
2. 验证文件路径与命名
- 确认
src文件夹内的文件是App.tsx(注意大小写,React Native对文件名大小写敏感) - 检查
index.js中的导入路径./src/App是否完全匹配实际文件位置,若App.tsx在src的子目录中,需同步调整路径
3. 清除缓存
- 执行命令重置Metro缓存:
npx react-native start --reset-cache - iOS项目额外执行:
cd ios && pod install && cd ..,之后重启应用 - Android项目可删除
android/app/build文件夹,重新编译运行
内容的提问来源于stack exchange,提问作者Dark -
相关产品推荐
相关产品推荐

