本地使用EAS构建APK遇Node版本不兼容错误求解决
解决expo-cli@5.6.0与Node.js 18.x版本不兼容导致EAS构建APK失败的问题
核心问题分析
expo-cli@5.6.0明确要求Node.js版本在>=12 <=16范围内,而你当前使用的是Node.js 18.14.0,版本不匹配直接导致依赖安装和构建失败。另外注意:不要删除package.json,这是项目依赖的核心配置文件,删除后yarn无法识别需要安装的依赖,若已误删,优先从Git历史或备份中恢复。
解决方案
方案1:使用Node版本管理工具切换到兼容版本(推荐)
用nvm(Node Version Manager)快速切换到expo-cli@5.6.0支持的Node.js版本,比如16.x LTS版本:
- 安装指定Node版本:
nvm install 16.20.2 - 切换到该版本:
nvm use 16.20.2 - 清理旧依赖并重新安装:
rm -rf node_modules yarn.lock yarn install - 重新执行本地构建:
eas build --local --platform android
方案2:升级expo-cli到支持Node.js 18的版本
expo-cli 6.x及以上版本已支持Node.js 14+(包括18.x),升级后可直接使用当前Node版本:
- 卸载旧版expo-cli:
yarn global remove expo-cli - 安装最新版expo-cli:
yarn global add expo-cli@latest - 更新项目内的expo依赖(可选但推荐,避免版本冲突):
expo update - 清理并重新安装依赖:
rm -rf node_modules yarn.lock yarn install - 执行本地构建:
eas build --local --platform android
方案3:临时忽略Node版本检查(不推荐)
若需紧急构建,可临时跳过yarn的版本校验,但可能引发其他未知问题:
- 安装依赖时忽略引擎检查:
yarn install --ignore-engines - 执行构建时也添加该参数:
eas build --local --platform android --ignore-engines
内容的提问来源于stack exchange,提问作者Francisco S
相关产品推荐
相关产品推荐

