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

GitHub Actions中执行npm ci失败求助:缺少lock文件报错

问题排查与解决

错误原因

你遇到的EUSAGE错误核心有两个原因:

  1. GitHub Actions Runner未拉取仓库代码:当前流水线仅配置了Node环境,但没有将你的仓库代码克隆到runner工作目录中,导致runner里既没有package.json,也没有package-lock.json。
  2. npm ci的特性限制:npm ci是专为持续集成环境设计的命令,它要求必须存在package-lock.json或npm-shrinkwrap.json文件,且lock文件版本≥1,否则无法执行。

修复步骤

1. 添加代码拉取步骤

在setup-node步骤之前,添加actions/checkout动作,将仓库代码拉取到runner环境:

name: Veracode frontend Scan
on:
  workflow_dispatch:
    
jobs:
  veracode:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3  # 新增:拉取仓库代码
    - uses: actions/setup-node@v3
      with:
        node-version: 16
    - run: npm ci

2. 确保仓库已提交package-lock.json

在本地项目目录执行npm install(需使用npm 5及以上版本),生成package-lock.json文件,然后将该文件提交并推送到GitHub仓库。只有仓库里存在这个文件,npm ci才能正常执行。

备选方案(不推荐用于CI环境)

如果暂时无法提供package-lock.json,可以将npm ci替换为npm install,但npm install会根据package.json重新解析依赖,可能导致每次构建的依赖版本不一致,不利于流水线的稳定性:

- run: npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:35:21