运行npm start或扫码打开Expo应用时expo-cli报Android打包失败
问题描述
执行npm start启动React Native Expo项目,或使用移动端Expo Go扫码加载项目时,抛出*Android Bundling failed(Android打包失败)*错误,核心报错日志如下:
错误 00:46 构建JavaScript bundle:错误 错误 00:46 无法从C:\Users\HP\Desktop\React Native\HelloApp\node_modules\expo-asset\build\LocalAssets.js解析模块expo-constants:在项目内或以下目录中无法找到expo-constants: node_modules > 1 | import Constants from 'expo-constants'; | ^ 2 | import * as FileSystem from 'expo-file-system'; 3 | import { getLocalAssets } from './PlatformUtils'; 4 | // Fast lookup check if assets are available in the local bundle in managed apps
故障原因
expo-asset包运行依赖expo-constants模块,但当前项目的依赖列表中没有正确安装该包,导致Metro打包时无法解析对应模块路径,直接中断安卓端bundle构建流程。
解决方法
按顺序执行以下操作即可修复:
- 终端按
Ctrl + C终止当前正在运行的expo启动服务 - 在项目根目录执行对应包管理工具的安装命令,补装缺失依赖:
- npm 环境执行:
npm install expo-constants - yarn 环境执行:
yarn add expo-constants
- npm 环境执行:
- 安装完成后,执行带缓存清理的启动命令避免旧缓存干扰:
expo start -c - 重新使用Expo Go扫码连接开发服务,安卓端打包即可正常运行
如果补装单个依赖后仍报同类模块解析错误,可直接删除项目根目录下的
node_modules文件夹、package-lock.json(npm环境)或yarn.lock(yarn环境)文件,重新执行npm install/yarn install全量重装所有依赖后再启动项目。
内容的提问来源于stack exchange,提问作者Sarfaraz Raza Qadri
相关产品推荐
相关产品推荐

