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

Angular 12项目执行ng build构建失败 报esbuild EACCES权限错误如何解决

解决方案

报错代码EACCES是典型的Linux系统权限不足问题,核心原因是node_modules/esbuild/bin/esbuild二进制文件没有可执行权限,或者你之前用sudo执行npm install导致项目目录的文件所有权属于root用户,当前运行ng build的普通用户没有权限调用该二进制文件。
可按以下步骤依次操作修复:

  • 第一步:清理旧的依赖文件
    先删除现有权限异常的依赖和锁文件,避免残留问题:
    rm -rf node_modules package-lock.json
    
  • 第二步:修复项目目录所有权
    把项目目录的所有权改回当前登录用户,消除root持有的文件权限限制:
    sudo chown -R $USER:$USER /你的项目完整路径
    
    把命令中的/你的项目完整路径替换为你实际的Angular项目根目录路径即可。
  • 第三步:清除npm缓存后重装依赖
    不要使用sudo执行npm install安装项目依赖,sudo只会让依赖文件的所有权变成root,反而会加大后续运行时的权限问题概率,直接用当前普通用户身份执行安装:
    npm cache clean --force
    npm install
    
  • 第四步:手动给esbuild添加执行权限(可选,执行完第三步仍报错再操作)
    如果安装完依赖还是出现相同报错,手动赋予esbuild二进制文件可执行权限:
    chmod +x node_modules/esbuild/bin/esbuild
    
  • 第五步:升级构建工具版本(可选,上述操作都无效再操作)
    Angular 12.2.5对应的@angular-devkit/build-angular存在已知的esbuild权限兼容问题,可以升级到12.2的最新小版本修复该问题:
    npm install @angular-devkit/build-angular@12.2 --save-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:18:03