执行npm run android时React Native遭遇MODULE_NOT_FOUND错误
React Native 执行
npm run android 报错解决 报错信息整理
info JS服务器已在运行。
info 正在安装应用...
:ReactNative:执行命令'[node, C:\Users\kemal\OneDrive\Masaüstü\Native\AwesomeProject\node_modules@react-native-community\cli\build\bin.js, config]'得到意外空结果,执行该命令失败。FAILURE: 构建因异常失败。
- 错误位置:脚本'C:\Users\kemal\OneDrive\Masaüstü\Native\AwesomeProject\node_modules@react-native-community\cli-platform-android\native_modules.gradle'第413行
- 错误原因:评估脚本时出现问题
具体错误信息:
node:internal/modules/cjs/loader:998 throw err; ^ Error: 找不到模块'C:\Users\kemal\OneDrive\Masaüstü\Native\AwesomeProject\node_modules@react-native-community\cli\build\bin.js' at Module._resolveFilename (node:internal/modules/cjs/loader:995:15) at Module._load (node:internal/modules/cjs/loader:841:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/cjs/run_main:82:12) at node:internal/main/run_main_module:23:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v19.0.0
- 建议尝试:
使用--stacktrace选项获取堆栈跟踪;使用--info或--debug选项获取更多日志;使用--scan选项获取完整洞察。
核心问题分析
- 路径编码异常:错误信息中路径里的「Masaüstü」被解析为「Masaüstü」,属于非ASCII字符的编码解析错误,导致Gradle无法定位cli模块文件。
- Node版本不兼容:使用的Node.js v19.0.0属于非LTS的不稳定版本,与当时React Native版本兼容性不足,引发模块加载失败。
- 依赖模块损坏:
@react-native-community/cli模块可能未正确安装或文件损坏。
解决步骤
1. 迁移项目到无特殊字符路径
将项目从含非ASCII字符的路径(C:\Users\kemal\OneDrive\Masaüstü\Native\AwesomeProject)移动到纯英文/数字路径,比如C:\Users\kemal\OneDrive\Native\AwesomeProject,避免编码解析问题。
2. 切换Node.js到LTS版本
React Native推荐使用稳定的LTS版本(如16.x或18.x),通过nvm切换:
nvm install 18.17.0 nvm use 18.17.0
3. 重装项目依赖
删除现有依赖文件后重新安装:
rm -rf node_modules package-lock.json yarn.lock npm install
4. 清理Gradle缓存
进入android目录执行清理命令:
cd android ./gradlew clean cd ..
5. 重新运行项目
执行启动命令:
npm run android
内容的提问来源于stack exchange,提问作者Ali Bircan
相关产品推荐
相关产品推荐

