Yet Another Resource Negotiator,由 Facebook、Google、Exponent 和 Tilde 联合开发的 JavaScript 包管理工具。npm 的替代方案,提供更好的性能和一致性。

锁文件:yarn.lock

安装

# 使用 npm 安装
npm install -g yarn
 
# 使用 corepack 安装
corepack enable

常用命令

初始化

yarn init    # 创建 package.json

安装依赖

yarn install                    # 安装所有依赖
yarn add <package>              # 安装并添加到 dependencies
yarn add <package>@<version>    # 安装指定版本
yarn add <package> -D           # 安装为 devDependencies
yarn global add <package>       # 全局安装

更新/删除

yarn upgrade <package>      # 更新到最新版本
yarn upgrade --latest       # 更新所有依赖
yarn remove <package>       # 卸载依赖

运行脚本

yarn run <script>
yarn start
yarn test

缓存

yarn cache clean    # 清除缓存

检查版本

yarn --version

工具边界

  • 适合需要插件扩展、Workspaces 管理的项目
  • Yarn Berry(v2+)引入了 PnP(Plug’n’Play),彻底去掉 node_modules,但生态兼容性需测试

踩坑点

  • Yarn 1.x(Classic)与 Yarn 2+(Berry)差异较大,升级需注意 .yarnrc.yml 配置
  • 全局安装的包路径与 npm 不同,不要混用
  • PnP 模式下部分旧工具不兼容,需配置 .pnpify