You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Native项目EAS iOS构建Node版本不匹配问题求助

问题分析与解决方法

问题根源

你遇到的核心问题不是本地Node版本,而是EAS云端构建环境默认使用了Node 16.18.1,和你package.json中指定的18.18.0不匹配。本地的Node版本、nvm配置只影响本地开发,对云端构建环境没有作用。

是否需要切换到npm?

不需要。换npm不是问题的根源,yarn本身没有问题,只要云端环境的Node版本符合要求,yarn就能正常工作。

解决步骤

方法1:通过eas.json指定Node版本

在项目根目录的eas.json(没有则创建)中,为iOS构建配置指定Node版本:

{
  "build": {
    "default": {
      "ios": {
        "node": "18.18.0"
      }
    },
    // 如有其他构建环境(如production/development),同步添加配置
    "production": {
      "ios": {
        "node": "18.18.0"
      }
    }
  }
}

方法2:添加.nvmrc文件

在项目根目录创建.nvmrc文件,内容直接写入目标Node版本:

18.18.0

EAS构建会自动读取该文件,使用对应的Node版本执行构建。

方法3:确认package.json的engines配置

你已经配置了正确的engines,确保该配置存在且无误:

"engines": {
  "node": "18.18.0",
  "yarn": "^1.22.17"
},

验证

配置完成后重新执行eas build --platform ios,查看构建日志的依赖安装阶段,应该会显示使用Node 18.18.0执行yarn install。

内容的提问来源于stack exchange,提问作者Mandella90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:15:09