说实话,现在才来写Yarn的教程,我自己都觉得有点过时了。
真的。
站在2026年这个时间节点上,你开启社交媒体界面,映入眼帘的是铺天盖地而来的,关于“pnpm yyds”以及“Bun速度逆天”这样的诸多呐喊之声。
Yarn?
曾被视作“npm杀手”的那个工具,似乎已经有很长时间无人再提及了。
然而,令人感到奇怪的是,我去翻找那些大型厂家已有的旧项目,或者去查看React Native的生态环境,Yarn的lockfile依旧稳稳当当地放置在那里。
仿佛是一位处于隐居状态的年迈侠客,江湖之中尽管不存在有关他的传说,然而代码库里到处都是他所撰写的规则、戒律等等,就是类似此含义的规定!
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的文件之际,你不会处于一种不知如何应对的状态。
你明白的,那是属于上一代程序员的,留给这个处于混乱状态的前端世界的,最后的秩序呀。

Comments NOTHING