从8->更新我的angular项目后;最后,我无法构建它。现在,这是我的主要问题:
npm安装结果
# npm audit report
async <3.2.2
Severity: high
Prototype Pollution in async - https://github.com/advisories/GHSA-fwr7-v2mv-hh25
No fix available
node_modules/portfinder/node_modules/async
portfinder 0.1.0 || >=0.4.0
Depends on vulnerable versions of async
node_modules/portfinder
webpack-dev-server >=2.0.0-beta
Depends on vulnerable versions of portfinder
node_modules/webpack-dev-server
@angular-devkit/build-angular *
Depends on vulnerable versions of webpack-dev-server
node_modules/@angular-devkit/build-angular
@angular-builders/custom-webpack *
Depends on vulnerable versions of @angular-devkit/build-angular
node_modules/@angular-builders/custom-webpack
npm-ls-async的Result
+-- @angular-devkit/build-angular@13.3.2
| `-- webpack-dev-server@4.7.3
| `-- portfinder@1.0.28
| `-- async@2.6.3
`-- async@3.2.3
我也遇到了这个问题。我更新了我的异步依赖关系,但主要问题是portfinder仍然依赖于旧版本的异步。我在这里找到了解决方案。
我把这个添加到我的包.json:
"overrides": {
"async": "$async"
},
这将确保任何依赖async的依赖项都将使用您安装的当前版本。希望这能有所帮助!
我担心主要版本的更改(从2.x到3.x(可能会";打碎某物;在中间依赖于";portfinder";。
是";异步;应该修补的库(在过去24小时内((此处引用:https://github.com/caolan/async/pull/1828),但npm审计扫描尚未(截至目前(发现此也应解决原型污染漏洞。
此外,我发现即使使用npm v8.5(和node v16.14.2(,重写实际上也不会删除标记的版本,除非我首先完全删除package-lock.json并在完全清除npm install
之前删除node_modules目录。你可能会认为npm purge
会起作用,但似乎没有正确工作。