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

已安装Node 16版本仍出现jest-matcher-utils@28.1.1 Node版本兼容错误的解决方法

解决GitHub Actions中borales/actions-yarn依赖安装的Node版本不兼容问题

我之前也碰到过类似的问题,核心原因是GitHub Actions的运行环境和你本地环境不一致:你本地用的是Node 16,但borales/actions-yarn@v2.0.0默认使用的容器镜像里预装的是Node 10.16.3,这就导致jest-matcher-utils@28.1.1要求的Node版本(^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0)不匹配,最终抛出了兼容性错误。

下面是两种可靠的解决方法:

方法一:先在Actions中指定Node 16版本

在调用borales/actions-yarn之前,先用官方的actions/setup-node action把环境切换到Node 16,确保yarn运行在符合要求的Node环境下。示例Workflow配置如下:

jobs:
  your-job-name:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4  # 先拉取代码
      # 关键步骤:设置Node.js 16版本
      - name: Setup Node.js 16
        uses: actions/setup-node@v3
        with:
          node-version: '16'
          cache: 'yarn'  # 可选:开启yarn依赖缓存,加速后续构建
      # 再执行yarn安装
      - name: Install dependencies with Yarn
        uses: borales/actions-yarn@v2.0.0
        with:
          cmd: install

方法二:升级borales/actions-yarn到最新版本

borales/actions-yarn的新版本可能已经更新了默认的Node版本镜像,你可以尝试把action版本从v2.0.0升级到最新稳定版(比如当前的v4),新版本大概率会使用更高版本的Node,直接解决兼容性问题。示例:

- name: Install dependencies with Yarn
  uses: borales/actions-yarn@v4  # 升级到最新版本
  with:
    cmd: install

额外提示

如果升级action版本后还是有问题,优先用方法一,因为actions/setup-node可以精准控制Node版本,完全和你本地环境对齐,避免环境差异带来的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 00:42:42