首页 > 解决方案 > Ng Build with NGCC Error using ngx-awesome-uploader

问题描述

我正在使用带有 AngularCDK 9.2.4 和 Node v12.16.0 的 single-spa 开发一个微型前端应用程序,我在使用 ngx-awesome-uploader 库时遇到了一些问题。首先,当我尝试在本地运行我的应用程序时,我得到了 NGCC 的错误,经过一些研究,我找到了在我的 package.json 中添加的解决方案,在脚本标签内,“postinstall”:“ngcc”,它在本地对我有用.

但由于是一个工作项目,我们使用内部 AWS 客户端进行 CI/CD,当我进入 CodePipeline 的构建阶段时,我得到了同样的错误(我在本地解决了)。我已经尝试使用与 CodePipeline 相同的命令,因为我遇到了这个错误。

这是我的 package.json (无法上传,因为我有限制上传政策)。

  "dependencies": {
    "@angular/animations": "~9.1.2",
    "@angular/cdk": "^9.2.4",
    "@angular/common": "~9.1.2",
    "@angular/compiler": "~9.1.2",
    "@angular/core": "~9.1.2",
    "@angular/forms": "~9.1.2",
    "@angular/material": "^9.2.4",
    "@angular/platform-browser": "~9.1.2",
    "@angular/platform-browser-dynamic": "~9.1.2",
    "@angular/router": "~9.1.2",
    "@auth0/angular-jwt": "^4.2.0",
    "@ep3/pipepper-tools": "0.0.5",
    "@fortawesome/fontawesome-free": "^5.15.1",
    "@ngrx/store": "^9.2.0",
    "@ngrx/store-devtools": "^9.2.0",
    "bootstrap": "^4.5.2",
    "ngx-awesome-uploader": "^12.0.2",
    "ngx-pagination": "^5.0.0",
    "ngx-toastr": "^12.1.0",
    "rxjs": "~6.5.4",
    "single-spa": "^5.5.5",
    "single-spa-angular": "4.3.2",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-builders/custom-webpack": "^9",
    "@angular-devkit/build-angular": "~0.901.2",
    "@angular/cli": "~9.1.2",
    "@angular/compiler-cli": "~9.1.2",
    "@angular/language-service": "~9.1.2",
    "@types/node": "^12.11.1",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.4.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~2.1.0",
    "karma-jasmine": "~3.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "protractor": "~5.4.3",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~3.8.3"
  }

这是错误:

Error: Error on worker #7: Error: getInternalNameOfClass() called on a non-ES5 class: expected FilePickerService to have an inner class declaration
    at Esm5ReflectionHost.getInternalNameOfClass (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/host/esm5_host.js:88:23)
    at DelegatingReflectionHost.getInternalNameOfClass (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/host/delegating_host.js:89:34)
    at extractInjectableMetadata (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/annotations/src/injectable.js:125:69)
    at InjectableDecoratorHandler.analyze (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/annotations/src/injectable.js:66:24)
    at NgccTraitCompiler.TraitCompiler.analyzeTrait (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:345:40)
    at analyze (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:297:58)
    at _loop_1 (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:319:21)
    at NgccTraitCompiler.TraitCompiler.analyzeClass (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:325:35)
    at NgccTraitCompiler.analyzeFile (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/analysis/ngcc_trait_compiler.js:47:26)
    at DecorationAnalyzer.analyzeProgram (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/analysis/decoration_analyzer.js:134:39)
    at ClusterMaster.onWorkerMessage (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:166:27)
    at /codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:50:95
    at ClusterMaster.<anonymous> (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:246:57)
    at step (/codebuild/output/src818/src/s3/00/app/node_modules/tslib/tslib.js:139:27)
    at Object.next (/codebuild/output/src818/src/s3/00/app/node_modules/tslib/tslib.js:120:57)
    at /codebuild/output/src818/src/s3/00/app/node_modules/tslib/tslib.js:113:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/codebuild/output/src818/src/s3/00/app/node_modules/tslib/tslib.js:109:16)
    at EventEmitter.<anonymous> (/codebuild/output/src818/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:240:32)
    at EventEmitter.emit (events.js:321:20)
Error: NGCC failed.
    at NgccProcessor.process (/codebuild/output/src818/src/s3/00/app/node_modules/@ngtools/webpack/src/ngcc_processor.js:76:19)
    at /codebuild/output/src818/src/s3/00/app/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:579:31
    at SyncHook.eval (eval at create (/codebuild/output/src818/src/s3/00/app/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:7:1)
    at SyncHook.lazyCompileHook (/codebuild/output/src818/src/s3/00/app/node_modules/tapable/lib/Hook.js:154:20)
    at webpack (/codebuild/output/src818/src/s3/00/app/node_modules/webpack/lib/webpack.js:55:30)
    at init (/codebuild/output/src818/src/s3/00/app/node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/karma.js:130:20)
    at Array.invoke (/codebuild/output/src818/src/s3/00/app/node_modules/di/lib/injector.js:75:15)
    at Injector.get (/codebuild/output/src818/src/s3/00/app/node_modules/di/lib/injector.js:48:43)
    at /codebuild/output/src818/src/s3/00/app/node_modules/karma/lib/server.js:162:59
    at Array.map (<anonymous>)
    at Server._start (/codebuild/output/src818/src/s3/00/app/node_modules/karma/lib/server.js:162:25)
    at Injector.invoke (/codebuild/output/src818/src/s3/00/app/node_modules/di/lib/injector.js:75:15)
    at Server.start (/codebuild/output/src818/src/s3/00/app/node_modules/karma/lib/server.js:135:28)
29 06 2021 18:55:59.075:ERROR [karma-server]: Server start failed on port 9876: Error: NGCC failed.

业力的错误:

Error: Error on worker #3: Error: getInternalNameOfClass() called on a non-ES5 class: expected FilePickerService to have an inner class declaration
    at Esm5ReflectionHost.getInternalNameOfClass (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/host/esm5_host.js:88:23)
    at DelegatingReflectionHost.getInternalNameOfClass (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/host/delegating_host.js:89:34)
    at extractInjectableMetadata (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/annotations/src/injectable.js:125:69)
    at InjectableDecoratorHandler.analyze (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/annotations/src/injectable.js:66:24)
    at NgccTraitCompiler.TraitCompiler.analyzeTrait (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:345:40)
    at analyze (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:297:58)
    at _loop_1 (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:319:21)
    at NgccTraitCompiler.TraitCompiler.analyzeClass (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/src/ngtsc/transform/src/compilation.js:325:35)
    at NgccTraitCompiler.analyzeFile (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/analysis/ngcc_trait_compiler.js:47:26)
    at DecorationAnalyzer.analyzeProgram (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/analysis/decoration_analyzer.js:134:39)
    at ClusterMaster.onWorkerMessage (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:166:27)
    at /codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:50:95
    at ClusterMaster.<anonymous> (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:246:57)
    at step (/codebuild/output/src196/src/s3/00/app/node_modules/tslib/tslib.js:139:27)
    at Object.next (/codebuild/output/src196/src/s3/00/app/node_modules/tslib/tslib.js:120:57)
    at /codebuild/output/src196/src/s3/00/app/node_modules/tslib/tslib.js:113:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/codebuild/output/src196/src/s3/00/app/node_modules/tslib/tslib.js:109:16)
    at EventEmitter.<anonymous> (/codebuild/output/src196/src/s3/00/app/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:240:32)
    at EventEmitter.emit (events.js:321:20)
Error: NGCC failed.
    at NgccProcessor.process (/codebuild/output/src196/src/s3/00/app/node_modules/@ngtools/webpack/src/ngcc_processor.js:76:19)
    at /codebuild/output/src196/src/s3/00/app/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:579:31
    at SyncHook.eval (eval at create (/codebuild/output/src196/src/s3/00/app/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:7:1)
    at SyncHook.lazyCompileHook (/codebuild/output/src196/src/s3/00/app/node_modules/tapable/lib/Hook.js:154:20)
    at webpack (/codebuild/output/src196/src/s3/00/app/node_modules/webpack/lib/webpack.js:55:30)
    at init (/codebuild/output/src196/src/s3/00/app/node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/karma.js:130:20)
    at Array.invoke (/codebuild/output/src196/src/s3/00/app/node_modules/di/lib/injector.js:75:15)
    at Injector.get (/codebuild/output/src196/src/s3/00/app/node_modules/di/lib/injector.js:48:43)
    at /codebuild/output/src196/src/s3/00/app/node_modules/karma/lib/server.js:162:59
    at Array.map (<anonymous>)
    at Server._start (/codebuild/output/src196/src/s3/00/app/node_modules/karma/lib/server.js:162:25)
    at Injector.invoke (/codebuild/output/src196/src/s3/00/app/node_modules/di/lib/injector.js:75:15)
    at Server.start (/codebuild/output/src196/src/s3/00/app/node_modules/karma/lib/server.js:135:28)
30 06 2021 17:48:07.100:ERROR [karma-server]: Server start failed on port 9876: Error: NGCC failed.

它与我正在使用的任何版本有关吗?我需要上传我的 Angular 版本吗?还是与 AWS 的 Code Pipeline 有关?

注意:我使用的是 Windows,但 AWS 使用的是 Linux-Ubuntu。

谢谢你。

标签: angularamazon-web-servicesaws-codepipeline

解决方案


推荐阅读