在 node.js (npm) 上发现很多错误
Catch a lot of errors on node.js (npm)
我附上了 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
在不同路径的终端中重复错误。
查看您在评论中发布的 package.json
,至少在撰写本文时,您的所有问题都在开发依赖项中,none 在生产依赖项中。您可以使用 npm audit --omit=dev
确认这一点(截至撰写本文时)显示 0 个漏洞。
此时,一个有效的选择是决定不担心 npm
报告的任何问题。例如,您极不可能通过 glob-parent
触发拒绝服务问题(如您提供的代码段中所报告),并且您这样做的可能性微乎其微,这将是“拒绝服务”在您自己的工具上 运行 gulp
。从字面上看,谁在乎?
但是如果你真的想摆脱这些东西:卸载 gulp
和 check-dependencies
。前者已经 2 年没有发布新版本了,你也没有在你的 package.json
中使用它。后者已经 4 年没有发布新版本了,这不是你离不开的东西。您没有在 package.json
中使用这些开发依赖项中的任何一个。如果您打算使用 gulp
,请考虑使用 grunt
instead (currently, reports 0 vulnerabilities when installed) or regular npm
scripts。
TL;DR:
- 您可以选择忽略这些。它们都处于开发依赖关系中,至少在撰写本文时是这样。
- 如果您不想忽略它们,请删除
gulp
和 check-dependencies
。无论如何你都不会使用它们,至少现在还没有。
如果您按照教程进行操作,请绝对忽略针对教程目的的警告或查找更新的教程。
我附上了 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
在不同路径的终端中重复错误。
查看您在评论中发布的 package.json
,至少在撰写本文时,您的所有问题都在开发依赖项中,none 在生产依赖项中。您可以使用 npm audit --omit=dev
确认这一点(截至撰写本文时)显示 0 个漏洞。
此时,一个有效的选择是决定不担心 npm
报告的任何问题。例如,您极不可能通过 glob-parent
触发拒绝服务问题(如您提供的代码段中所报告),并且您这样做的可能性微乎其微,这将是“拒绝服务”在您自己的工具上 运行 gulp
。从字面上看,谁在乎?
但是如果你真的想摆脱这些东西:卸载 gulp
和 check-dependencies
。前者已经 2 年没有发布新版本了,你也没有在你的 package.json
中使用它。后者已经 4 年没有发布新版本了,这不是你离不开的东西。您没有在 package.json
中使用这些开发依赖项中的任何一个。如果您打算使用 gulp
,请考虑使用 grunt
instead (currently, reports 0 vulnerabilities when installed) or regular npm
scripts。
TL;DR:
- 您可以选择忽略这些。它们都处于开发依赖关系中,至少在撰写本文时是这样。
- 如果您不想忽略它们,请删除
gulp
和check-dependencies
。无论如何你都不会使用它们,至少现在还没有。
如果您按照教程进行操作,请绝对忽略针对教程目的的警告或查找更新的教程。