纱线版本之间的区别

Difference between yarn versions

我用 yarn 1.x 有一段时间了,是用 npm 安装的。今天,我想使用一个插件,经过一些研究促使我安装类似 yarn 3.x 的东西。我不知道还有其他受支持的纱线版本。老实说,现在我对纱线版本控制感到非常困惑。我对向后兼容性、文件夹结构、1.x 之间的差异感到特别困惑; 2.x; 3.x。我尝试查看每个版本的文档,查看 github 存储库并检查互联网,但我无法找到一些 comparison/explanation 为什么会发生这种情况,为什么所有版本都受支持和维护(到某种程度上)。

我想知道的是:是否有任何 site/article 解释这种奇怪的版本控制的区别和推理?纱线版本的向后兼容性是什么?推荐的 yarn 版本是什么?

我知道这不是技术问题,但我不知道还能问哪里。我不是在征求意见,我是在征求事实或资源(文章、github 个问题...)来自己研究这个问题。

Yarn 的网站是最好的资源,因为它有很多新的和突破性的功能。我是在一个月前了解到它的,在玩弄了几天之后,我将其设置并作为我们构建管道的一部分工作。

这些新版本背后的动机是修复他们认为 Node 模块解析算法中的低效问题以及对非常严格的依赖性检查的信念(你不能使用某些 NPM 模块正在使用的东西,一切都必须明确)。

很多功能似乎主要有利于 monorepo 设置。

查看他们的 migration docs 以了解如何优雅地更新现有项目。我发现它对计算所有依赖项所需的时间有很大影响。

最令人沮丧的是一些 tools/libraries 直接拒绝使用它。 AWS Amplify 一直给我带来麻烦,即使我将它设置为使用 v1,它仍然拒绝我的构建。

我一直想发表一篇关于我的经历的博客文章。它在较新版本中是一个有趣的工具,但还没有完全准备好迎接黄金时段。如果您设置了它,那么从现在开始您就是必须维护它的人。我在我们的自述文件中写下了所有内容,解释了它如何影响我们当前的流程,但还没有人抱怨过。