如何解决这个 npm glob-parent 问题

Edw*_*ard 6 javascript npm

glob-parent  <5.1.2
Severity: moderate
Regular expression denial of service - https://npmjs.com/advisories/1751
fix available via `npm audit fix`
node_modules/watchpack-chokidar2/node_modules/glob-parent
  chokidar  1.0.0-rc1 - 2.1.8
  Depends on vulnerable versions of glob-parent
  node_modules/watchpack-chokidar2/node_modules/chokidar
    watchpack-chokidar2  *
    Depends on vulnerable versions of chokidar
    node_modules/watchpack-chokidar2
      watchpack  1.7.2 - 1.7.5
      Depends on vulnerable versions of watchpack-chokidar2
      node_modules/watchpack
Run Code Online (Sandbox Code Playgroud)

我只是将 cookie-parser 安装到 cmd。如上所述,有4个温和派。我的 glob-parent -v 目前是 7.19.1 它不起作用“npm 审计”和“npm 审计修复”我该怎么办?

小智 21

在 package.json 中,在脚本下添加此目标:

"preinstall": "npx npm-force-resolutions"
Run Code Online (Sandbox Code Playgroud)

然后将其添加到脚本下面:

"resolutions": {
   "glob-parent": "^6.0.1"
}
Run Code Online (Sandbox Code Playgroud)

一件事,我不知道使用旧版本的任何依赖包是否会因为 6.0.1 而损坏。

  • 添加 ```"resolutions": { "glob-parent": "^6.0.1" }``` 并执行 ```yarn``` 命令解决了我的问题。谢谢 (3认同)
  • 当我第一次安装“npm install”时,它对我不起作用。如果我删除 `"preinstall": "npx npm-force-resolutions"` 并运行 npm install ,那么我会得到“glob-parent”漏洞。然后,我添加 `"preinstall": "npx npm-force-resolutions"` 并再次运行“npm install”,漏洞就消失了。 (3认同)

Pra*_*tre 18

使用以下覆盖,它将解决问题

 "overrides": {
    "chokidar": "3.5.3",
    "glob-parent": "6.0.2"
  }
Run Code Online (Sandbox Code Playgroud)

将上述内容添加到您的 package.json 中并执行npm update


Tro*_*ott 7

我是glob-parent登陆glob-parent@5.1.2. 有(至少)三种方法可以解决这个问题。

第一种可能性:从watchpack版本 1更新到watchpack版本 2。watchpack版本 2 不依赖于glob-parent. 不幸的是,存储库中没有CHANGELOG文件watchpack,因此您必须通过其他方式找到相关的重大更改。也许如果你有出色的测试覆盖率,你可以依靠它。或者,如果您的项目相对较新,那么只需从watchpack版本 2 开始构建它就行了。

第二种可能性是,如果它watchpack只是一个开发依赖项,而不是应用程序面向用户的部分使用的东西,那么您可能根本不需要担心这一点并且可以忽略该消息。我不推荐这样做,但我也不得不承认,npm audit警告有时可能有点像男孩哭狼

第三种选择是glob-parent使用修复程序修补您的易受攻击的地方。但是,您必须知道自己在做什么(特别是如何npm工作),以免自己在脚下开枪并最终在没有意识到的情况下取消修复。所以这也不是我推荐的。

如果您可以更新watchpack到 2.x,那就是要走的路。

  • 根据 https://overreacted.io/npm-audit-broken-by-design/ 添加 npmaudit--product 显示该错误仅在开发模式下出现,这是误报错误 (5认同)