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

如何在GitHub Actions中为actions/setup-node指定工作目录路径

问题原因

working-directory参数仅对run类型的执行步骤生效,无法作用于uses调用的Action。你开启actions/setup-node的npm缓存功能后,该Action默认仅会在仓库根目录查找package-lock.json文件,无法识别存放在frontend子目录的锁文件,因此触发报错。

修复方案

修改nodejstest任务的配置,补全缺失的版本矩阵配置,同时新增cache-dependency-path参数指定锁文件路径即可:

nodejstest:
  runs-on: ubuntu-latest
  # 补全你缺失的node版本矩阵配置
  strategy:
    matrix:
      node-version: [16.x] # 可根据需求替换/新增你需要的Node版本
  steps:
  - uses: actions/checkout@v2
  - name: Use Node.js ${{ matrix.node-version }}
    uses: actions/setup-node@v2
    with:
      node-version: ${{ matrix.node-version }}
      cache: 'npm'
      # 新增此行,指定package-lock.json的实际路径
      cache-dependency-path: ./frontend/package-lock.json
  - run: npm ci
    working-directory: ./frontend
  - run: npm run build --if-present
    working-directory: ./frontend
  - run: npm test
    working-directory: ./frontend

如果使用yarn/pnpm作为包管理器,只需将cache-dependency-path的值替换为对应锁文件的路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 13:21:00