npm安装和弃用警告

时间:2016-10-19 13:11:56

标签: node.js npm

我最近开始使用npm,有时在安装过程中会弹出一些警告。

例如,运行

 npm install gulp-chimp --save-dev

产生以下警告

  

npm WARN弃用to-iso-string@0.0.2:不推荐使用to-iso-string,而是使用@ segment / to-iso-string。

     

npm WARN弃用jade@0.26.3:Jade已更名为pug,请安装最新版本的pug而不是jade

     

npm WARN弃用minimatch@0.3.0:请更新到minimatch 3.0.2或更高版本以避免RegExp DoS问题

     

npm WARN弃用了tough-cookie@2.2.2:ReDoS漏洞解析Set-Cookie https://nodesecurity.io/advisories/130

我的问题并不是针对gulp-chimp,而是针对npm。我应该尝试更新这些包吗?我理解这是开发人员使用更新软件包的号召,我觉得我可能会通过尝试自己更新软件包来解决问题,但我也担心让漏洞出现。

1 个答案:

答案 0 :(得分:3)

为确保更新依赖项不会破坏任何内容,必须进行版本控制。通常,您可以毫不费力地更新已弃用的依赖项,但有时候这样做会导致使用它的程序包破坏。

我不建议做的是忽略弃用错误。虽然软件包维护者需要在最终更新它,但问题仍然存在。其中许多过时的软件包都存在已知的安全漏洞,这些漏洞现在会影响您的应用程序。

要准确了解哪些依赖项已过时,请执行以下操作:

npm outdated -depth=3

默认深度为0,仅检查顶级依赖关系,因此在某种程度上增加深度级别(3只是一个示例)将揭示更多过时的依赖关系。

正如您已经指出的那样,更重要的是找出哪些依赖项可能已知漏洞。您可以使用Snyk之类的工具测试这些漏洞,该工具会根据open-source database of vulnerabilities检查您的依赖关系。如果这些升级破坏了您的代码,Snyk将允许您修补漏洞(使用CLI或自动Github请求)而无需升级。

完全披露:我在Snyk工作。 :)话虽如此,这正是它所要解决的问题。