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

升级Angular组件后执行ngcc命令报错:不允许覆盖备份文件

解决ngcc执行时“尝试覆盖__ivy_ngcc_bak文件不被允许”的错误

我之前升级Angular后也碰到过完全一样的问题!这是因为ngcc在生成Ivy兼容的入口文件时,会为原文件创建后缀为__ivy_ngcc_bak的备份,要是之前的备份文件没有被正确清理(比如上次ngcc进程意外中断),这次运行就会触发这个“禁止覆盖备份”的错误。下面是几个亲测有效的解决办法:

方法一:手动清理现有ngcc备份文件

直接删掉所有残留的备份文件,再重新执行ngcc命令:

  • Mac/Linux:在项目根目录执行以下命令删除所有备份文件
    find node_modules -name "*__ivy_ngcc_bak" -delete
    
  • Windows:在命令提示符(CMD)里执行
    del /s /q node_modules\*__ivy_ngcc_bak
    
  • 之后重新运行你的ngcc命令:
    ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points
    

方法二:重置依赖并重新安装

有时候依赖缓存或损坏也会导致这类冲突,试试彻底清理后重装:

  • 删除node_modules文件夹:
    # Mac/Linux
    rm -rf node_modules
    # Windows
    rd /s /q node_modules
    
  • 删除包管理器的锁文件(二选一,根据你用的工具):
    # npm用户
    rm package-lock.json
    # yarn用户
    rm yarn.lock
    
  • 重新安装依赖:
    # npm
    npm install
    # yarn
    yarn install
    
  • 再次执行ngcc命令

方法三:强制ngcc处理(谨慎使用)

如果上面两种方法都无效,可以尝试添加--force参数强制ngcc跳过备份检查,但注意这可能会覆盖现有备份文件,建议先备份重要文件再操作:

ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points --force

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 16:18:10