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

GitLab CI/CD执行Angular构建任务时出现ng: Permission denied权限错误

GitLab CI/CD构建Angular应用出现「ng: Permission denied」的解决办法

昨天还正常的构建配置突然报「ng: Permission denied」,大概率是镜像版本变更或依赖权限异常导致的,给你几个可行的解决方向:

1. 固定Node镜像版本

node:latest会自动拉取最新版镜像,新版可能调整了用户权限规则(比如默认用非root用户运行),导致ng命令没有执行权限。直接指定之前正常运行的Node版本镜像即可,比如:

image: node:20
before_script:
  - npm install

2. 修复ng命令的执行权限

npm install会把Angular CLI装在项目的node_modules/.bin目录下,可能这个目录的权限出现异常。在before_script里添加权限修复命令:

before_script:
  - npm install
  - chmod +x node_modules/.bin/ng

或者安装依赖时加--unsafe-perm参数,强制以root权限安装:

before_script:
  - npm install --unsafe-perm

3. 调整package-lock.json的处理逻辑

配置里的rm ./package-lock.json可能导致依赖安装版本混乱,间接引发权限问题。要么删掉这行命令,要么删除后彻底清理缓存再重装:

before_script:
  - rm -rf node_modules package-lock.json
  - npm install

4. 切换到root用户执行命令

如果镜像默认用非root用户,直接切换到root再执行命令:

before_script:
  - su - root
  - npm install

或者在build命令前加sudo(前提是镜像中已安装sudo):

build-npm-prod:
  stage: build
  script:
    - rm ./package-lock.json
    - npm install
    - sudo npm run build --prod
  artifacts:
    paths:
      - dist/mi-web-texo/
  only:
    - master

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:50:11