npm audit fix angular 10.0.1 后的错误
Errors after npm audit fix angular 10.0.1
我今天 运行 这个旧的 10.0.1 angular 项目,它告诉我它有很多低漏洞和一些高漏洞。所以我 运行 npm audit fix 来修复它们。
但是现在当我尝试 运行 它时,它给了我这些错误:
Error: ./src/main.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getResourceDependencies(...) is not a function or its return value is not iterable
at getDependencies (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:261:56)
at C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:374:20
at analyzingFileEmitter (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:307:20)
at process._tickCallback (internal/process/next_tick.js:68:7)
Error: ./src/polyfills.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getResourceDependencies(...) is not a function or its return value is not iterable
at getDependencies (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:261:56)
at C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:374:20
at analyzingFileEmitter (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:307:20)
at process._tickCallback (internal/process/next_tick.js:68:7)
有什么解决办法吗?我在网上找不到任何相关的问题或解决方案。
试试这个
rm -rf node_modules/
npm install
npm run build
将 Angular CLI 从 10 升级到 11 对我有用。
ng update @angular/core @angular/cli
ng update
试试这个:
rmdir /s node_modules
npm install "or" npm install @angular-devkit/build-angular
npm run build
我遇到了同样的问题。
我为成功解决问题所做的工作:
- git恢复包-lock.json
- git恢复package.json
- rm -rf node_modules/
- npm 安装
- npm 启动
步骤原因:
1.2.恢复原始包文件的步骤
3步删除所有安装的依赖
4步再次安装依赖
毕竟恢复原状了,有效
您可以通过将 Angular CLI 版本从 10 升级到 11 来解决此问题。作为#Craig 的回答。
否则,删除 node_modules、package-lock.json 文件。
恢复旧的 package.json 文件,然后 运行 npm install。或者不做 npm audit fix。
npm audit 修复 upgrades/modifies 包依赖性,这是错误的。
我也解决了同样的问题。主要原因是“@angular-devkit/build-angular”版本与我的情况不匹配。我更改了它的版本兼容 angular 版本。在我的例子中,我使用的是 angular 10,之前版本以“0.11”开头,我将其更改为“0.1002.3”。
就我而言,安装以下软件包后问题已解决。
npm install @ngtools/webpack
你应该试试这个
ng update @angular/cli @angular/core --allow-dirty --force
我之前尝试过,但不允许在 windows os
中更新
ng update @angular/cli @angular/core
或
ng update @angular/cli @angular/core --allow-dirty
这是因为 .\Temp\ng-fmB0C2\angular-errors.log
而产生的问题
除了以上所有的,还要多做一个步骤:
- 检查是否有重复版本的webpack,虽然不知道它是如何引入的。树看起来:
+--@angular-devkit/build-angular@12.0.0
-- webpack@5.36.2
-- webpack@5.36.2
如果是这样,由(https://docs.npmjs.com/cli/v7/commands/npm-dedupe)修复:
npm 去重
对于我的情况,我 运行 ng update @angular/cli@^11 @angular/core@^11
然后安装 webpack@4,因为其他包依赖于它。
然后安装 tapable & @types/webpack 因为 webpack 4 插件需要它。
.. 几次删除 node_modules & npm install :)
我的客户让我们使用他们已经批准的特定版本。这是我的 v10。
我运行下面解决了这个问题,在我检查了appropriate package.json
之后
npm i @angular-devkit/build-angular@0.1002.0 @angular-devkit/architect@0.1002.0 @angular-devkit/build-optimizer@0.1002.0 @angular-devkit/core@10.2.0 @angular-devkit/schematics@10.2.0 --save
我的问题是由
引起的
"preserveSymlinks": true,
我的构建选项中的 angular.json
缺失。
我今天 运行 这个旧的 10.0.1 angular 项目,它告诉我它有很多低漏洞和一些高漏洞。所以我 运行 npm audit fix 来修复它们。 但是现在当我尝试 运行 它时,它给了我这些错误:
Error: ./src/main.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getResourceDependencies(...) is not a function or its return value is not iterable
at getDependencies (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:261:56)
at C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:374:20
at analyzingFileEmitter (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:307:20)
at process._tickCallback (internal/process/next_tick.js:68:7)
Error: ./src/polyfills.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getResourceDependencies(...) is not a function or its return value is not iterable
at getDependencies (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:261:56)
at C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:374:20
at analyzingFileEmitter (C:\Web\vgc\vgc\node_modules\@ngtools\webpack\src\ivy\plugin.js:307:20)
at process._tickCallback (internal/process/next_tick.js:68:7)
有什么解决办法吗?我在网上找不到任何相关的问题或解决方案。
试试这个
rm -rf node_modules/
npm install
npm run build
将 Angular CLI 从 10 升级到 11 对我有用。
ng update @angular/core @angular/cli
ng update
试试这个:
rmdir /s node_modules
npm install "or" npm install @angular-devkit/build-angular
npm run build
我遇到了同样的问题。 我为成功解决问题所做的工作:
- git恢复包-lock.json
- git恢复package.json
- rm -rf node_modules/
- npm 安装
- npm 启动
步骤原因: 1.2.恢复原始包文件的步骤 3步删除所有安装的依赖 4步再次安装依赖 毕竟恢复原状了,有效
您可以通过将 Angular CLI 版本从 10 升级到 11 来解决此问题。作为#Craig 的回答。
否则,删除 node_modules、package-lock.json 文件。
恢复旧的 package.json 文件,然后 运行 npm install。或者不做 npm audit fix。
npm audit 修复 upgrades/modifies 包依赖性,这是错误的。
我也解决了同样的问题。主要原因是“@angular-devkit/build-angular”版本与我的情况不匹配。我更改了它的版本兼容 angular 版本。在我的例子中,我使用的是 angular 10,之前版本以“0.11”开头,我将其更改为“0.1002.3”。
就我而言,安装以下软件包后问题已解决。
npm install @ngtools/webpack
你应该试试这个
ng update @angular/cli @angular/core --allow-dirty --force
我之前尝试过,但不允许在 windows os
中更新ng update @angular/cli @angular/core
或
ng update @angular/cli @angular/core --allow-dirty
这是因为 .\Temp\ng-fmB0C2\angular-errors.log
而产生的问题除了以上所有的,还要多做一个步骤:
- 检查是否有重复版本的webpack,虽然不知道它是如何引入的。树看起来:
+--@angular-devkit/build-angular@12.0.0
-- webpack@5.36.2
-- webpack@5.36.2
如果是这样,由(https://docs.npmjs.com/cli/v7/commands/npm-dedupe)修复:
npm 去重
对于我的情况,我 运行 ng update @angular/cli@^11 @angular/core@^11
然后安装 webpack@4,因为其他包依赖于它。
然后安装 tapable & @types/webpack 因为 webpack 4 插件需要它。
.. 几次删除 node_modules & npm install :)
我的客户让我们使用他们已经批准的特定版本。这是我的 v10。
我运行下面解决了这个问题,在我检查了appropriate package.json
之后npm i @angular-devkit/build-angular@0.1002.0 @angular-devkit/architect@0.1002.0 @angular-devkit/build-optimizer@0.1002.0 @angular-devkit/core@10.2.0 @angular-devkit/schematics@10.2.0 --save
我的问题是由
引起的"preserveSymlinks": true,
我的构建选项中的 angular.json
缺失。