npm审核修复无法修复低漏洞

时间:2018-09-01 13:14:56

标签: npm lodash nightmare npm-audit

我正在使用nightmare进行测试。运行npm审核后,我收到关于lodash原型污染的警告。我尝试通过运行npm audit fix来解决此问题,但没有结果。之后,我尝试使用{{ 1}},但仍然得到:

--force

任何想法我该如何解决?

这是屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:1)

npm依赖项不会自动升级到更高的主要版本。因此,如果程序包A依赖于程序包B,且其版本说明为:

// A/package.js
dependencies: {
  "B": "^2.1.3"
}

然后,对于任何版本2.xy,npm将使B保持最新,其中x> = 1;(如果x == 1,则y> = 3;如果x> 1,则y> = 0 )。

但是,如果安全修复程序发生在B版本3.v.w中,则该安全问题将保留在您的npm存储库中。

这里的问题是,要使用版本3.vw,您可能必须更新A,因为可能会在2到3之间进行重大更改(即,更改了函数名称或支持某些属性已被删除。)

下面是一个react-idle-timer模块中的重大更改示例:

从v3迁移到v4

版本4中有一些重大更改:

  • 尽管仍然可以渲染子级,但从版本4开始,我们不会将子级传递给IdleTimer。除非您对shouldComponentUpdate非常满意,否则应避免使用IdleTimer作为包装器组件。
  • 属性startOnLoad已重命名为startOnMount,以便在React上下文中更有意义。
  • 属性activeAction已重命名为onActive
  • 属性idleAction已重命名为onIdle