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

升级Angular 6后报错:无法重新声明块级作用域变量'ngDevMode'

解决Angular升级后ngDevMode重复声明的错误

这个问题我在Angular版本升级过程中也遇到过,核心原因是你的Angular核心依赖版本不一致,导致ngDevMode变量被重复定义了。

从你的package.json里能看到:

  • @angular/core是^6.0.0
  • 其他Angular包(比如@angular/common、@angular/compiler等)都是^6.0.3

当不同版本的Angular核心文件被同时加载时,ng_dev_mode.d.ts里的ngDevMode变量会被多次声明,触发TypeScript的重复定义错误。

解决步骤:

  1. 统一Angular核心包版本
    打开package.json,把@angular/core的版本修改为^6.0.3,和其他Angular包保持一致:

    "@angular/core": "^6.0.3",
    
  2. 清理旧依赖和缓存
    删除项目根目录下的node_modules文件夹和package-lock.json(如果用yarn则删除yarn.lock):

    rm -rf node_modules package-lock.json
    # Windows系统执行:
    # rmdir /s /q node_modules && del package-lock.json
    
  3. 重新安装依赖
    执行安装命令重新拉取一致版本的依赖:

    npm install
    
  4. 验证并启动项目
    先检查依赖树确认版本统一:

    npm ls @angular/core
    

    确认所有@angular/core的依赖都是6.0.3后,启动项目:

    ng serve
    

额外排查点:

如果执行完上述步骤还是报错,可能是其他第三方依赖间接引入了旧版本的@angular/core。可以用npm ls @angular/core查看依赖树,找到违规的包:要么升级该包到兼容Angular 6.0.3的版本,要么通过package.json里的resolutions字段(npm需配合npm-force-resolutions工具)强制指定@angular/core的版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:44:25