Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制npm更新依赖项_Npm_Webpack - Fatal编程技术网

强制npm更新依赖项

强制npm更新依赖项,npm,webpack,Npm,Webpack,在我的项目中,我使用“LaravelMix”,它依赖于“WebpackDevServer” “npm audit”在我的版本网页开发服务器上报告了一个错误,因此我一直在尝试将其更新为最新版本。。但是没有成功 我试过了 npm update npm update webpack-dev-server npm update laravel-mix 没有成功。。我想问题是laravel mix已经是最新的了,但是它的依赖性不是 我曾尝试添加一个更新版本的webpack dev server作为依赖项

在我的项目中,我使用“LaravelMix”,它依赖于“WebpackDevServer”

“npm audit”在我的版本网页开发服务器上报告了一个错误,因此我一直在尝试将其更新为最新版本。。但是没有成功

我试过了

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服务器依赖项?我需要laravel mix用于此项目,由于我的资产是在生产服务器上编译的,我甚至无法将其设置为仅适用于开发人员的依赖项。

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

您可以看到手动查看子依赖项并为项目创建PR以修复其自身的依赖项

将来,如果您正在使用的版本中有npm audit fix,我还建议您使用它,因为如果可以,它将尝试自动修复问题


顺便说一句,我不会太担心这个易受攻击的软件包,尽管它的严重性很高,但只有在生产中使用dev服务器时才会出现问题,正如tin上所说的那样,您肯定不应该在任何地方使用它,除非在开发中本地使用:-)

我们在
puppeter>extract-zip>mkdirp>minimist
中遇到类似问题,其中
minimist
存在安全漏洞。它被升级了,
mkdirp
,但是
extract-zip
在写这篇文章的时候没有

package.json中的
scripts
项下使用
npx-npm强制解析
,似乎已经成功了

$ git diff package.json 
diff --git a/package.json b/package.json
index cf825cf..0d694b3 100644
--- a/package.json
+++ b/package.json
@@ -8,8 +8,13 @@
     "lib": "lib" 
   },
   "scripts": {
+    "preinstall": "npx npm-force-resolutions",
     "test": "echo \"Error: no test specified\" && exit 1" 
   },
+  "resolutions": {
+    "minimist": "1.2.3",
+    "mkdir": "0.5.3" 
+  },
然后运行
npm安装

$ npm install && npm audit

> sge@1.0.0 preinstall /home/jlam/code/prjName
> npx npm-force-resolutions

npx : 5 installé(s) en 5.733s
added 1 package from 1 contributor, removed 1 package and audited 72 packages in 7.212s

[...]

found 0 vulnerabilities

[...]    

                       === npm audit security report ===                        

found 0 vulnerabilities
 in 72 scanned packages

谢谢我确实尝试了npm审计修复程序,但不幸的是,这一次运气不好。我确实看到这个包应该只在dev中使用,但我必须说我对如何强制执行这个包有点困惑。。这个包是laravel mix的一个依赖项,我在prod中使用了后者,所以这个依赖项不是也会自动安装吗?我仍然对这个“dev server”包有点困惑。。我如何确保它不用于生产?我是否需要明确地排除它,或者在运行“生产”脚本时npm会自动忽略它?我有同样的问题,并且使用
minimist
有3000多个漏洞,我刚刚删除了我的
包锁.json
node_模块
,并用
npm I
重新安装,它说:“发现0个漏洞”