1 概述

本书中所说的yarn统一指yarn1,如果是yarn2或者yarn3 yarn4 会特别的著名版本号。

yarn的简介

yarn是一个老版的包管理工具,并一直处于迭代阶段。在2020年之后很多新型的包管理工具,比如pnpm yarn2(也就是之后的berry) 都发展起来,但yarn现在(2024)也是一个很强大的包管理工具,很多新型的包管理工具比如pnpm都沿用了yarn里面的设计和概念。比较知名的是resolution 以及patch。这些概念知道现在还被各个包管理工具沿用。由此可见yarn是一个很强大的工具。

理解yarn的原理有助于理解各个包管理工具的基本概念以及熟练使用各种包管理工具。对于yarn原理的理解,本书用解析源码的方式来展示yarn是如何工作并运行的。另外本书会提及较少新的包管理工具如pnpm以及yarn4的知识。

为什么选择yarn

包管理工具有很多本书为什么偏偏选yarn来讲。

对于新型的包管理工具来讲,比如pnpm以及yarn4,整个源代码体积太大内容太多,组织源代码的形式都是monorepo,很多关键的信息不明显。

对比npm来讲,npm很多关系的代码都是依赖的外部的包,源码并没有在同一个仓库里面,调试起来也很麻烦。

yarn相比之下内容都在一个仓库里面github/yarn/yarn,而且yarn最近4年基本无新的commit,很早就不再继续迭代而且在berry上进行迭代,十分有利于调试。

Last updated