目标入口点“@angular/cdk/platform”缺少依赖项

Jef*_*eff 2 npm typescript angular angular-cdk

我有一个版本 8 的 Angular 应用程序。我更新到了 9。我已经解决了所有编译和 linter 错误,除了一个给我带来一些问题的错误:

\n
ERROR in The target entry-point "@angular/cdk/platform" has missing dependencies:\n\n@angular/core\n@angular/common\n
Run Code Online (Sandbox Code Playgroud)\n

这些是我的 package.json 中的角度包:

\n
        "@angular/animations": "10.0.12",\n        "@angular/cdk": "10.1.3",\n        "@angular/common": "10.0.12",\n        "@angular/compiler": "10.0.12",\n        "@angular/core": "10.0.12",\n        "@angular/flex-layout": "10.0.0-beta.32",\n        "@angular/forms": "10.0.12",\n        "@angular/material": "10.1.3",\n        "@angular/platform-browser": "10.0.12",\n        "@angular/platform-browser-dynamic": "10.0.12",\n        "@angular/router": "10.0.12",\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试过删除node_modules、package-lock.json、重新安装等。

\n

我认为这可能与 ivy 编译器有关,但它正在编译所有内容(我认为):

\n
> ngcc --tsconfig './src/tsconfig.app.json' && bash post-install-checks.sh\n\nCompiling @angular/cdk/platform : fesm2015 as esm2015\n(and others)\n
Run Code Online (Sandbox Code Playgroud)\n

什么会导致此类错误?我缺少什么?

\n

以下是我发现的更多错误:

\n
/myDevFolder/my-app/node_modules/@types/d3-shape/index.d.ts\nError:(2273, 19) TS2304: Cannot find name 'CanvasPathMethods'.\n/myDevFolder/my-app/node_modules/protractor/built/index.d.ts\nError:(5, 10) TS2440: Import declaration conflicts with local declaration of 'PluginConfig'.\nError:(5, 24) TS2440: Import declaration conflicts with local declaration of 'ProtractorPlugin'.\n/myDevFolder/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts\nError:(8, 53) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts\nError:(9, 71) TS2307: Cannot find module '@angular/core'.\nError:(10, 28) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts\nError:(8, 74) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts\nError:(8, 27) TS2307: Cannot find module '@angular/core'.\nError:(9, 25) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer-tokens.d.ts\nError:(8, 32) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer.d.ts\nError:(9, 57) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/cdk/observers/typings/observe-content.d.ts\nError:(8, 79) TS2307: Cannot find module '@angular/core'.\nError:(9, 28) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/material/typings/core/common-behaviors/color.d.ts\nError:(9, 28) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/material/typings/core/common-behaviors/common-module.d.ts\nError:(8, 32) TS2307: Cannot find module '@angular/core'.\nError:(9, 30) TS2307: Cannot find module '@angular/platform-browser'.\n/myDevFolder/node_modules/@angular/material/typings/core/common-behaviors/error-state.d.ts\nError:(8, 55) TS2307: Cannot find module '@angular/forms'.\nError:(9, 25) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/material/typings/core/common-behaviors/initialized.d.ts\nError:(8, 28) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/material/typings/core/datetime/date-adapter.d.ts\nError:(8, 32) TS2307: Cannot find module '@angular/core'.\nError:(9, 37) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/material/typings/core/datetime/date-formats.d.ts\nError:(8, 32) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/material/typings/core/error/error-options.d.ts\nError:(8, 57) TS2307: Cannot find module '@angular/forms'.\n/myDevFolder/node_modules/@angular/material/typings/core/gestures/gesture-config.d.ts\nError:(8, 32) TS2307: Cannot find module '@angular/core'.\nError:(9, 37) TS2307: Cannot find module '@angular/platform-browser'.\n/myDevFolder/node_modules/@angular/material/typings/core/label/label-options.d.ts\nError:(8, 32) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/material/typings/core/line/line.d.ts\nError:(8, 39) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/material/typings/core/option/option.d.ts\nError:(8, 117) TS2307: Cannot find module '@angular/core'.\nError:(10, 25) TS2307: Cannot find module 'rxjs'.\n/myDevFolder/node_modules/@angular/material/typings/core/ripple/ripple-renderer.d.ts\nError:(8, 36) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/material/typings/core/ripple/ripple.d.ts\nError:(9, 71) TS2307: Cannot find module '@angular/core'.\n/myDevFolder/node_modules/@angular/material/typings/core/version.d.ts\nError:(8, 25) TS2307: Cannot find module '@angular/core'.\n
Run Code Online (Sandbox Code Playgroud)\n

更多信息

\n

我重新运行了 ng update 的迁移,这次出现了错误:

\n
\xe2\x9d\xaf Undecorated classes with DI migration.\n  As of Angular 9, it is no longer supported to use Angular DI on a class that does not have an Angular decorator.\n  Read more about this here: https://v9.angular.io/guide/migration-undecorated-classes\nFailed to read JSON file /myDevFolder/dev/node_modules/@angular/material/typings/core/index.metadata.json\n    \n    This migration uses the Angular compiler internally and therefore projects that no longer build successfully after the update cannot run the migration. Please ensure there are no AOT compilation errors and rerun the migration. The following project failed: src/tsconfig.app.json\n    \n    Error: Path "/../node_modules/@angular/material/typings/core/index.metadata.json" is invalid.\n    \n    Could not migrate all undecorated classes that use dependency\n    injection. Some project targets could not be analyzed due to\n    TypeScript program failures.\n
Run Code Online (Sandbox Code Playgroud)\n

小智 5

我在这里找到了问题的解决方案:升级到 Angular 9 后缺少材料依赖项。也许它可以帮助你。基本上是:

  • 删除node_modules文件夹。
  • 删除 package-lock.json 文件。
  • 运行 npm cache clean --force
  • 运行 npm install --save @Angular/material @Angular/cdk
  • 运行 npm 安装