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