运行eas build失败,报错‘Cannot find module 'expo/bin/cli.js'’求助
解决EAS Build报错“Cannot find module 'expo/bin/cli.js'”
错误原因
这个报错核心是EAS Build在构建流程中无法定位到正确的Expo CLI执行文件,常见诱因包括:项目依赖版本不匹配、本地缓存残留导致依赖解析异常、EAS构建环境与本地开发环境的依赖配置不一致,或是旧版Expo CLI的路径引用逻辑已被废弃。
解决步骤
- 同步项目Expo CLI依赖:
确认项目已安装适配当前Expo版本的@expo/cli(新版替代了旧版expo-cli),执行命令:npm install @expo/cli --save-dev # 或使用yarn yarn add @expo/cli --dev - 清理依赖与缓存:
删除项目根目录的node_modules文件夹、package-lock.json(或yarn.lock),重新安装依赖:
随后清除Expo本地缓存:npm install # 或 yarn installnpx expo start --clear - 统一EAS构建环境配置:
在项目的eas.json中明确指定Node.js和Expo版本,确保与本地开发环境一致,示例配置:{ "build": { "production": { "node": "18.x", "expo": "~49.0.0" } } } - 重新关联Expo账号:
执行eas login重新验证账号身份,避免因权限或配置关联问题导致的路径解析失败。 - 迁移至新版Expo CLI(针对旧版用户):
若之前使用全局安装的旧版expo-cli,先卸载旧版:
安装新版全局CLI:npm uninstall -g expo-cli
最后重新初始化EAS配置:npm install -g @expo/clieas build:configure
完成上述步骤后重新执行eas build,即可解决该报错并正常使用Expo Updates功能。
内容的提问来源于stack exchange,提问作者GabrielRibeiro
相关产品推荐
相关产品推荐

