说实话,现在才来写Yarn的教程,我自己都觉得有点过时了。

真的。

站在2026年这个时间节点上,你开启社交媒体界面,映入眼帘的是铺天盖地而来的,关于“pnpm yyds”以及“Bun速度逆天”这样的诸多呐喊之声。

Yarn?

曾被视作“npm杀手”的那个工具,似乎已经有很长时间无人再提及了。

然而,令人感到奇怪的是,我去翻找那些大型厂家已有的旧项目,或者去查看React Native的生态环境,Yarn的lockfile依旧稳稳当当地放置在那里。

仿佛是一位处于隐居状态的年迈侠客,江湖之中尽管不存在有关他的传说,然而代码库里到处都是他所撰写的规则、戒律等等,就是类似此含义的规定!

Yarn到底是干嘛的?

Yarn包管理工具介绍_工具技巧Yarn配置技巧_Yarn使用教程大纲

不只是“快”那么简单

如果非要用一句话解释,Yarn 是一个 “包管理器”

但你把它想象成一个图书管理员

你拥有的那个被称作项目的事物是书架呀,各种各样的插件以及库,举例来说像React、Vue、lodash这些,它们可是书呢。

npm身为首位管理员 ,将书也就是依赖 ,一本又一本地搬过来 ,偶尔顺序出现错乱 ,有时同一本书购入好多本 ,致使书架即node_modules乱七八糟 、沉重不堪。

Yarn 是第二个来的管理员,他看不下去,做了几件狠事:

他下达指令(并行开展ownload操作),要求所有人同时进行搬书行动,效率刹那间急剧提升了。

2. 他拿着一个形状较小的本子(yarn.lock),明明白白地记录下每一本书的准确版本和所在位置,从此再也不用担心被人弄混(进行确定性的安装)。

他另外弄了个仓库(缓存),上次搬运过的书,下次直接从仓库拿取,无需再次前往书店购买(离线镜像)。

装它?

好像有点“多此一举”

现在装Yarn,感觉确实有点微妙。

如果你只是为了跑一个Vite项目,可能真的没必要。

npm(现在自带的)已经够用了。

但要是您非要去接手某些“老牌”项目,不然若您跟我相类似这般有罹患强迫症之情形,并且喜好那种状如 “一切尽皆处于被掌控之状态” 之感受,那终究还是得去进行佯装之举。

各平台的“土办法”

Windows 用户:

最简单粗暴,打开终端(管理员模式),敲下:

npm install -g yarn

前提是你得有 Node.js。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

装完看看版本,成了没?

yarn --version

倘若出现报错显示“无法加载...”这一情况,不用惊慌,此乃PowerShell策略在搞怪,运用管理员权限运行一句 Set-ExecutionPolicy RemoteSigned便可以了。

macOS 用户(讲究人):

有 Homebrew 的,肯定是:

brew install yarn

brew install yarn

优雅,且不会污染环境。

或者你爱折腾,去官网下个install.sh脚本也行。

Linux 用户(硬核玩家):

Debian/Ubuntu 就

sudo apt install yarn

CentOS 就 dnf

但需留意,系统源当中的版本或许存在些许陈旧,提议先行前往 NodeSource 将源进行配置。

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

改源,刻进DNA里的动作

不管你是什么系统,装完第一件事,把手给我放到键盘上:

yarn config set registry https://registry.npmmirror.com

国内开发,换源是肌肉记忆,不然下载到天荒地老。

项目里怎么用?

那种“秩序感”回来了

当你初始化一个项目,那种“秩序感”就回来了。

sudo apt update && sudo apt install yarn

yarn init 一步步问你,虽然啰嗦,但很严谨。

紧接着你就会察觉到,全部的依赖都被锁定在 yarn.lock 当中,形成一种稳固的状态。

这个文件,千万别手动改。

那些常用的“黑话”

加个包yarn add axios,默认装最新版。

删除一个包,执行这样的操作:使用 yarn remove lodash 指令,就会干净利落,这和 npm 不同,npm 有时候会在删除包后留下一些空文件夹。

进行开发依赖的安装,其操作方式为,使用命令“yarn add webpack --dev” ,或者使用命令“yarn add -D webpack”。

用于全局的工具,是这样的命令,即“yarn global add create-react-app”。

curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo

但说实话,现在更推荐 npx 或者 yarn dlx

灵魂拷问:2026年,到底用 Yarn 还是 pnpm?

我知道你看到这,脑子里全是这个问题。

我查了一堆2026年最新的评测数据。

残忍的结论是:论速度快,pnpm凭着硬链接以及内容寻址存储,将磁盘空间节省到了极致,其装速度的确是当下的天花板。

Yarn 还剩下什么?

剩下了 “确定性”

剩下了对 Monorepo 项目那种老派的、扎实的支撑。

sudo yum install yarn

剩下了 PnP 模式那种虽然难用但极其“洁净”的另类哲学。

要是,你身为单独的一个人,着手去撰写全新的项目,那就去接纳 pnpm 吧,它的确是属于未来的。

倘若你身处于一个团队之中,这个团队正在维护着一个存续了好几年的老项目,而且该老项目的依赖关系是那种错综复杂的状况,此时你是会感谢 Yarn 的。

因为它够稳,稳到你几乎忘了它的存在。

Yarn 就像那种不爱说话的同事,平时感觉不到他,但每次出乱子的时候,你会发现他的记录(lockfile)永远是清晰、准确、值得信赖的。

所以,还要不要学 Yarn?

学吧。

不是因为别的缘由,仅仅是为了在某一天,当你开启一个被尘封了三年的项目,瞅见那个名为yarn.lock的文件之际,你不会处于一种不知如何应对的状态。

你明白的,那是属于上一代程序员的,留给这个处于混乱状态的前端世界的,最后的秩序呀。