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

执行npm run build报错No provider for InjectionToken ng.v5.defaultTsConfig如何解决?

解决Angular打包时的No provider for InjectionToken ng.v5.defaultTsConfig!报错

执行npm run build时触发如下报错:

No provider for InjectionToken ng.v5.defaultTsConfig! (InjectionToken ng.v5.packageTransform -> InjectionToken ng.v5.initTsConfigTransform -> InjectionToken ng.v5.defaultTsConfig)

当前使用的依赖版本:

  • "@angular/animations": "14.2.8"
  • "@angular/common": "14.2.8"
  • "@angular/compiler": "14.2.8"
  • "@angular/core": "14.2.8"
  • "@angular/forms": "14.2.8"
  • "@angular/platform-browser": "14.2.8"
  • "@angular/platform-browser-dynamic": "14.2.8"
  • "@angular/router": "14.2.8"
  • "ng-packagr": "14.2.2"

以下是可行的解决步骤:

1. 清理依赖缓存并重装依赖

  • 删除本地依赖目录和锁文件:
    # macOS/Linux
    rm -rf node_modules package-lock.json
    # Windows
    rmdir /s /q node_modules && del package-lock.json
    
  • 重新安装依赖:
    npm install
    

2. 检查ng-packagr配置文件

  • 确认项目根目录下的ng-package.json配置正确,需指定有效的tsConfig路径,示例配置:
    {
      "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
      "dest": "./dist",
      "lib": {
        "entryFile": "src/public-api.ts",
        "tsConfig": "tsconfig.lib.json"
      }
    }
    
  • 验证tsconfig.lib.json文件存在,且包含Angular库编译所需的基础配置,比如compilerOptions中的target、module等参数符合Angular 14的要求。

3. 对齐ng-packagr与Angular版本兼容性

Angular 14对应的ng-packagr推荐使用同大版本的稳定版,可尝试升级到14.x系列的较新版本:

npm install ng-packagr@14.3.0 --save-dev

4. 同步Angular CLI版本

确保Angular CLI版本与核心依赖版本一致:

  • 查看当前CLI版本:
    ng version
    
  • 若版本不一致,安装对应版本:
    npm install @angular/cli@14.2.8 --save-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:01:02