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

GitLab CI执行npm install时持续出现npm ERR! code EPIPE错误求助

问题根源

从verbose日志可以明确,核心问题是Nexus 3.30.0-01 (OSS) 版本不支持npm的安全审计API端点。npm执行ci命令时默认会发起安全审计请求,调用http://153.89.23.53:8082/repository/npm-all/-/npm/v1/security/audits/quick接口,但Nexus OSS无此功能,返回400错误后导致npm进程崩溃,最终抛出EPIPE错误。

解决方案

1. 跳过npm安全审计

修改GitLab CI脚本中的npm ci命令,添加--no-audit参数直接跳过审计步骤:

build:
  only:
    - develop
  script:
    - npm ci --no-audit
    - npm run build

2. 全局禁用npm审计(可选)

若不想每次命令加参数,可通过两种方式全局禁用:

  • 方式一:在CI的before_script中临时配置
before_script:
  - apk update
  - apk add git
  - git submodule update --init --recursive
  - npm config set audit false
  • 方式二:在项目根目录创建.npmrc文件写入配置
audit=false

3. 固定Node镜像版本

避免使用浮动标签node:16-alpine,改用具体版本镜像,防止镜像更新引入未知问题:

image: node:16.18.0-alpine

4. 优化子模块拉取(可选)

添加git submodule sync确保子模块URL同步,避免拉取失败:

before_script:
  - apk update && apk add git
  - git submodule sync
  - git submodule update --init --recursive

5. 缓存依赖(可选)

添加缓存加快构建速度,减少重复下载依赖的时间:

cache:
  paths:
    - node_modules/
    - .npm/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:10:58