【问题标题】:Catch a lot of errors on node.js (npm)在 node.js (npm) 上发现很多错误
【发布时间】:2021-12-17 08:22:13
【问题描述】:

我附上结果 npm 审核。 试图靠自己解决问题的尝试无济于事。如果有人能解释问题的本质,我将不胜感激。很长一段时间都修不出来。也许解决方案简单而合乎逻辑,但不幸的是,这对我来说并不明显。

       High            Regular expression denial of service                          

       Package         glob-parent                                                   

       Patched in      >=5.1.2                                                       

       Dependency of   gulp [dev]                                                    

       Path            gulp > glob-watcher > chokidar > glob-parent                  

       ------------------------------------------------------------

       High            Prototype Pollution in set-value                              

       Package         set-value                                                     

       Patched in      >=4.0.1                                                       

       Dependency of   gulp [dev]                                                    

       Path            gulp > gulp-cli > matchdep > findup-sync > micromatch >       
                       extglob > expand-brackets > snapdragon > base > cache-base >  
                       union-value > set-value    

错误在不同路径的终端中重复出现。

【问题讨论】:

  • 你试过 npm 审计修复了吗?
  • 如果你能分享你的 package.json 将会非常有帮助。
  • @Phix 是的,当然。npm 审计修复 npm WARN 可选跳过可选依赖:fsevents@1.2.13 (node_modules\fsevents):npm WARN notsup 跳过可选依赖:fsevents@1.2 不支持的平台。 13:想要 {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) 在 1.235s 中更新 7 个包是正在寻找资金运行npm fund 了解详细信息已修复 374 个扫描包中的 8 个漏洞中的 0 个 8 个漏洞需要人工审查且无法更新

标签: node.js npm gulp


【解决方案1】:

查看您在评论中发布的package.json,至少在撰写本文时,您的所有问题都在开发依赖项中,而没有一个在生产依赖项中。您可以通过npm audit --omit=dev 确认这一点(在撰写本文时),它显示了 0 个漏洞。

此时,一个有效的选择是决定不担心npm 报告的任何这些问题。例如,您极不可能通过glob-parent(如您提供的 sn-p 中报告的那样)触发拒绝服务问题,并且您这样做的可能性极小,这将是“拒绝服务”在运行gulp 时使用您自己的工具。从字面上看,谁在乎?

但如果你真的想摆脱这些东西:卸载gulpcheck-dependencies。前者在 2 年内没有发布新版本,您也没有在 package.json 中使用它。后者已经 4 年没有发布新版本,也不是你不能没有的东西。您没有在 package.json 中使用这些开发依赖项中的任何一个。如果您计划使用gulp,请考虑改用grunt(目前安装时报告0 个漏洞)或regular npm scripts

TL;DR:

  1. 您可以选择忽略这些。至少在撰写本文时,它们都在开发依赖项中。
  2. 如果您不想忽略它们,请删除gulpcheck-dependencies。反正你没有使用它们,至少现在还没有。

如果您正在学习教程,请绝对忽略教程中的警告或查找更新的教程。

【讨论】:

  • 感谢您的信息丰富的回答和您的宝贵时间。
猜你喜欢
  • 2023-04-09
  • 1970-01-01
  • 2016-07-19
  • 2022-01-06
  • 2014-08-12
  • 2022-08-09
  • 1970-01-01
  • 2014-12-02
  • 2015-06-16
相关资源
最近更新 更多