Yarn 2:零安装和正常安装之间的区别?

Waj*_*ath 15 javascript node.js yarnpkg

关于零安装,Yarn 2文档说:

虽然“零安装”一词本身并不是一项功能,但它包含了许多围绕一个特定目标定制的 Yarn 功能 - 通过从等式中消除主要的熵源:Yarn 本身,使您的项目尽可能稳定和快速。[...]

我读了整个故事,但并没有真正完全理解。

Yarn 2 零安装和 Yarn 2 正常安装有什么区别?

May*_*ita 14

不同之处在于,使用 Yarn 正常安装,您不需要提交 node_modules(所有依赖项),而使用零安装,您将必须处理所有依赖项。

这肯定会减少您对远程存储库的依赖,但是,它需要更多的责任,如文档中所述:

请注意,根据设计,此设置要求您信任修改您的存储库的人员。特别是,接受来自外部用户的 PR 的项目必须注意影响包存档的 PR 是否合法(因为否则恶意用户可能会在更改其存档内容后发送新依赖项的 PR)。

毕竟,零安装是一个很棒的功能。它解决了“我克隆/切换了分支,现在缺少依赖项”的问题,它显着加快了 CI 速度,并降低了我们对本地 npm 注册表的依赖。

  • 我还要补充一点,它解决了过时依赖项的问题。如果您有一个很少更新的项目,如果旧依赖项之一丢失(例如被作者、npm 等删除),您很容易遇到问题。 (6认同)