React Native项目启动失败:执行run-android命令报MODULE_NOT_FOUND错误
问题描述
执行npx react-native run-android启动React Native项目时触发报错,提示找不到模块C:\Users\Admin\AppData\Local\npm-cache\_npx\7930a8670f922cdb\node_modules\@babel\parser\lib\index.js,要求验证package.json的main入口是否有效。当前使用Node.js v20.2.0,完整错误堆栈如下:
node:internal/modules/cjs/loader:446 throw err; ^ Error: Cannot find module 'C:\Users\Admin\AppData\Local\npm-cache\_npx\7930a8670f922cdb\node_modules\@babel\parser\lib\index.js'. Please verify that the package.json has a valid "main" entry at tryPackage (node:internal/modules/cjs/loader:438:19) at Module._findPath (node:internal/modules/cjs/loader:687:18) at Module._resolveFilename (node:internal/modules/cjs/loader:1056:27) at Module._load (node:internal/modules/cjs/loader:923:27) at Module.require (node:internal/modules/cjs/loader:1137:19) at require (node:internal/modules/helpers:121:18) at Object.<anonymous> (C:\Users\Admin\AppData\Local\npm-cache\_npx\7930a8670f922cdb\node_modules\metro\src\Bundler\util.js:14:17) at Module._compile (node:internal/modules/cjs/loader:1255:14) at Module._extensions..js (node:internal/modules/cjs/loader:1309:10) at Module.load (node:internal/modules/cjs/loader:1113:32) { code: 'MODULE_NOT_FOUND', path: 'C:\\Users\\Admin\\AppData\\Local\\npm-cache\\_npx\\7930a8670f922cdb\\node_modules\\@babel\\parser\\package.json', requestPath: '@babel/parser' }
修复步骤
- 清空npx缓存:运行
npx clear-npx-cache,彻底删除npx的临时缓存文件,避免损坏的缓存导致模块加载异常。 - 检查并修复@babel/parser安装:
- 打开报错路径中的
@babel/parser文件夹,确认lib/index.js是否存在。 - 如果文件缺失,直接删除整个
@babel/parser目录,然后执行npm install @babel/parser(或yarn add @babel/parser)重新安装。
- 打开报错路径中的
- 降级Node.js版本:Node.js v20.x和部分React Native依赖存在兼容性问题,建议切换到v18.x LTS版本,这是官方推荐的稳定版本。
- 重新安装项目依赖:删除项目根目录下的
node_modules文件夹和package-lock.json(或yarn.lock),然后运行npm install(或yarn install),确保所有依赖完整安装。 - 锁定@babel/parser兼容版本:如果metro和@babel/parser版本不匹配,在
package.json中指定@babel/parser为7.x系列的稳定版本(比如"@babel/parser": "^7.22.0"),之后重新执行依赖安装命令。
内容的提问来源于stack exchange,提问作者Chamidu Ravihara
相关产品推荐
相关产品推荐

