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

GitHub Actions中Node CI无理由被取消问题求助

解决GitHub Actions中npm ci执行被取消的问题

以下是几个针对性的解决办法,按优先级尝试:

  • 移除--ignore-scripts参数
    --ignore-scripts会跳过依赖包的安装脚本,部分包必须执行这些脚本才能完成安装,跳过可能导致依赖不完整或后续流程卡住,触发Action超时取消。把命令改成npm ci即可。

  • 增加超时时间
    GitHub Actions单步或整个作业可能因超时被取消,给npm ci步骤或整个作业设置更长超时:

    # 给单步设置超时
    - run: npm ci
      timeout-minutes: 10
    
    # 或者给整个作业设置超时
    jobs:
      build:
        runs-on: ubuntu-latest
        timeout-minutes: 30
        # 其他配置...
    
  • 清理npm缓存
    缓存损坏可能导致安装卡住,在安装依赖前清理缓存:

    - name: Clean npm cache
      run: npm cache clean --force
    - run: npm ci
    
  • 简化Node版本矩阵
    旧Node版本(比如14.x)和部分新依赖兼容性差,先测试单个稳定版本(比如18.x),排除版本兼容问题:

    matrix:
      node-version: [18.x]
    

    成功后再逐步加回其他版本排查。

  • 启用详细日志定位问题
    给npm ci加上--verbose参数,获取完整安装日志,方便找到卡住的具体环节:

    - run: npm ci --verbose
    

修改后的完整配置示例

name: test

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    strategy:
      matrix:
        node-version: [18.x]
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      - name: Clean npm cache
        run: npm cache clean --force
      - run: npm ci --verbose
      - run: npx vitest --run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:32:41