使用Ignite模板构建Expo React Native应用时Node版本不兼容报错
问题:Expo EAS Build Android时Node版本不匹配错误
使用Ignite模板在Expo环境构建应用,执行eas build --platform android时,依赖安装步骤失败,报错提示模块所需Node版本需>=18,但构建环境使用的是16.18.1。本地Node版本为18.16.1,但ignite-cli expo doctor检测显示使用16.18.1,尝试忽略引擎校验等方案后仍未解决。
复现步骤
- 执行
npx ignite-cli@latest new DriverTab --yes创建项目 - 执行
eas build --platform android触发构建
本地环境检测信息
System platform win32 arch x64 cpu 16 cores AMD Ryzen 7 6800HS with Radeon Graphics directory DriverTab D:\DriverTab JavaScript (and globally-installed packages) node 18.16.1 npm 9.5.1 eas-cli 4.1.2 expo-cli 6.3.10 pod-install 0.1.39 yarn 1.22.19 yarn 1.22.19 expo 48.0.20 managed Ignite ignite-cli 8.8.7 ignite src build Android java 18.0.1.1 android home - undefined Tools git git version 2.39.0.windows.2 C:\Program Files\Git\cmd\git.EXE
解决方案
1. 指定EAS构建环境的Node版本
有两种方式强制EAS使用指定版本的Node:
- 修改
eas.json:在项目根目录的eas.json中,对应构建配置profile添加node字段:{ "build": { "production": { "node": "18.x" }, "development": { "node": "18.x" } } } - 配置
package.json的engines字段:在package.json中明确声明Node版本要求,EAS会自动遵循该配置:{ "engines": { "node": ">=18.0.0" } }
2. 排查本地Node版本管理问题
- 如果使用nvm等版本管理工具,进入项目目录后执行
nvm use 18切换到指定版本,再运行ignite-cli expo doctor验证版本是否正确。 - 检查终端/IDE的Node版本是否与全局版本一致,部分IDE会自带Node环境,需确保使用的是本地安装的18.x版本。
3. 清除EAS构建缓存
执行以下命令清除构建缓存,避免旧环境配置残留:
eas build --platform android --clear-cache
4. 升级相关工具版本
- 升级ignite-cli:
npm update -g ignite-cli - 升级eas-cli:
npm update -g eas-cli
确保工具版本兼容Node 18,避免版本不匹配导致的环境检测异常。
内容的提问来源于stack exchange,提问作者evriel
相关产品推荐
相关产品推荐

