Zap*_*oid 71
在我看来,这是一个有效的问题,不知道为什么它被否决了.特别是因为文档没有明确说明属性(形容词)"重复"是什么意思,而只是命令的deduped
作用.
(当然,人们可以 - 稍微努力 - 找出它的含义.但是,我认为这是公平的,特别是初学者.)
我认为部分困惑是,大多数人没有明确调用,npm dedupe
但在调用时仍然在依赖树中删除了包npm
.那是因为node_modules
隐式调用重复数据删除(或类似的东西!?),这也没有在文档中说明.
所以:自然地,"重复数据删除"是重复数据删除的缩写 - >重复删除.npm重复数据删除的文档(感谢@Molda)解释了npm如何做到这一点:它查看多个包是否具有相同的依赖关系(意味着相同的包和版本(范围))并将它们"指向"同一个包 - > 相同包不必安装两次!它只是被引用.
此外,它将包"向上移动"(使树变平).这是完全有道理的,否则一个包必须查看其他包的node_modules(这将是一种混乱),并有助于简化依赖性.
您可以对此进行验证,因为依赖关系图中的每个包都说明了重复数据删除,可以在图表中至少再找到一次,通常是在"更高级别".
在您发布的屏幕中deduped
是身体解析器的依赖项.更进一步,它也被列为表达更高一级的直接依赖.
小智 11
使用npm v8.3 ,您还可以对树中的包使用覆盖:
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
-> 覆盖也被标记为“重复数据删除”,无论它们在树上的位置有多高,因此即使分支 y 中的包 x 仅列出一次,它仍然会被标记为“重复数据删除”
归档时间: |
|
查看次数: |
10121 次 |
最近记录: |