首页 > 解决方案 > 是否有任何编程语言或包管理器支持已安装包的一致性/融合/全局唯一性?

问题描述

npm安装包时,它会生成一个依赖树,树中的每个包都有自己的依赖树。因此,同一个包可能会在树中出现多次。在获取通过传递依赖重新导出的对象时,可能会根据所遵循的导出的特定路径返回不同的对象。

这在某些情况下会导致问题,因此存在对等依赖项,这允许应用程序的顶层指定包的单个版本,这些子依赖项共享。

如果每个依赖项都标记为peerDependency,那么每个包的单个全局版本将存在于应用程序中。

我的问题是:是否有任何语言或包管理器在任何地方强制执行类似的行为,以便共享依赖项的任何两个包将共享该依赖项的完全相同版本?作为奖励,语言/生态系统因此而遇到了哪些成本或收益?

标签: packageprogramming-languagespackage-managers

解决方案


推荐阅读