首页 > 解决方案 > 强制 npm 更新依赖

问题描述

在我的项目中,我使用“laravel-mix”,它依赖于“webpack-dev-server”

“npm audit”在我的版本 webpack-dev-server 上报告了一个高度严重的漏洞,所以我一直在尝试将其更新到最新版本.. 但没有成功。

我试过了

npm update
npm update webpack-dev-server
npm update laravel-mix

没有成功..我想问题是 laravel-mix 已经是最新的,但它的依赖不是..

我试图添加一个更高版本的 webpack-dev-server 作为依赖项,希望它能够替换旧版本,但相反,我只是两个版本共存:

npm ls webpack-dev-server
+-- laravel-mix@2.1.14
| `-- webpack-dev-server@2.11.3
`-- webpack-dev-server@3.1.10

有没有办法让我强制更新 webpack-dev-server 依赖项?我需要这个项目的 laravel-mix,并且由于我的资产是在生产服务器上编译的,我什至不能将它设置为仅开发依赖项..

标签: npmwebpack

解决方案


不幸的是,如果您使用的包已经固定了它自己的依赖项,则无法在项目的顶层修复它,尽管这是 npm 计划的未来功能,允许别名覆盖子依赖项。

您可以在此处查看简短指南,以手动查看子依赖项并为项目创建 PR 以修复它们自己的依赖项。

将来,npm audit fix如果它在您使用的版本上可用,我是否还建议使用它,因为如果可以的话,这将尝试自动修复问题。

顺便说一句,我不会太担心这个易受攻击的包,虽然它的严重性很高,但只有在生产中使用 dev-server 才会成为问题,正如它所说的dev在锡上,你绝对应该不要在任何地方使用它,而是在本地开发中使用它。:-)


推荐阅读