发现 AnguIar 不兼容的对等依赖项

Posted

技术标签:

【中文标题】发现 AnguIar 不兼容的对等依赖项【英文标题】:AnguIar incompatible peer dependencies found 【发布时间】:2021-08-02 08:39:24 【问题描述】:

我今天运行了一个 Angular 项目,它告诉我它有很多低漏洞和一些高漏洞。所以我输入: *ng 更新 @angular/core @angular/cli *ng 更新

但是现在当我尝试运行它时,它给了我这些错误:

Error: ./src/main.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getDiagnosticsForFile is not a function
    at C:\.....\Angular\node_modules\@ngtools\webpack\src\ivy\plugin.js:384:60
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

Error: ./src/polyfills.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getDiagnosticsForFile is not a function
    at C:\.....\Angular\node_modules\@ngtools\webpack\src\ivy\plugin.js:384:60
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

Error: (webpack)-dev-server/client?http://0.0.0.0:0&sockPath=/sockjs-node
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getDiagnosticsForFile is not a function
    at C:\....\Angular\node_modules\@ngtools\webpack\src\ivy\plugin.js:384:60
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

Error: ./src/main.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getDiagnosticsForFile is not a function
    at C:\.....\Angular\node_modules\@ngtools\webpack\src\ivy\plugin.js:384:60
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

Error: ./src/polyfills.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getDiagnosticsForFile is not a function
    at C:\......\Angular\node_modules\@ngtools\webpack\src\ivy\plugin.js:384:60
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

【问题讨论】:

你有没有尝试过这个question的其他解决方案,即删除node_modules并重新安装和构建 是的,我试过了,但没用 您基本上是带有ng update 命令的角度版本。您应该遵循他们的官方指南来更新 Angular 版本。 update.angular.io 【参考方案1】:

我将我的应用升级到 Angular 11 并且遇到了相同的构建错误。当我在 package.json 文件中降级以下包时,此问题已为我解决。

来自:

"devDependencies": 
"@angular-devkit/build-angular": "~0.1102.17",

到:

"devDependencies": 
"@angular-devkit/build-angular": "~0.1100.2",

【讨论】:

以上是关于发现 AnguIar 不兼容的对等依赖项的主要内容,如果未能解决你的问题,请参考以下文章

如何修复对等依赖项安装问题

paramiko 不兼容的 ssh 对等体(没有可接受的 kex 算法)

node本地项目发生依赖包因更新而不兼容导致项目启动错误解决记录

使用反射处理依赖不兼容问题

Azure DeployIfNotExist Policy 评估但不部署模板/显示兼容

Flutter & AndroidX 不兼容如何手动设置依赖