macOS 下载、安装 Yarn,快速、可靠、安全的 JavaScript 依赖管理工具(附安装包yarn-v1.22.22.tar.gz)
文章目录

1. Yarn 简介
Yarn 是一款快速、可靠、安全的 JavaScript 依赖管理工具(package manager),2016 年 10 月由 Facebook 联合 Google、Exponent(今 Expo)、Tilde 三家公司共同发布并开源。它的诞生源于一个真实的痛点:当时的大型 JavaScript 项目动辄上千个依赖包,传统方式安装既慢又不稳定——同一份代码在不同机器上装出的依赖可能不一致,构建随机失败。Yarn 用"锁定文件(lockfile)+ 确定性安装算法"的组合拳根治了这些问题,一经推出便成为 JavaScript 生态的重要基础设施,如今与 npm、pnpm 并列为主流包管理器,GitHub 上已收获约 4.1 万颗 Star、2.7 千次 Fork。
如今 Yarn 1.x(社区常称 Yarn Classic)已进入稳定维护阶段:功能冻结,只保留修复性更新,官方团队的重心转向了新一代 Yarn(代号 Berry)。也正因为它足够稳定,大量存量项目至今仍把 Yarn 1 作为默认包管理器长期使用。本次分发的 v1.22.22 就是 1.x 维护线的最新版本,发布于 2024 年 3 月 9 日。
用官方 README 的话概括,Yarn 的三大核心卖点:
- 快(Fast):Yarn 会缓存每个下载过的包,同样的包永不重复下载;安装过程几乎全部并发执行,最大化资源利用率,安装速度显著提升
- 可靠(Reliable):采用详细而简洁的锁定文件格式与确定性安装算法,保证在一台机器上能装通的依赖组合,在任何另一台机器上以完全相同的方式复现
- 安全(Secure):在执行任何已安装包的代码之前,先用校验和(checksum)验证其完整性
核心特色
- 离线模式(Offline Mode):装过的包,断网也能再装
- 确定性(Deterministic):无论安装顺序如何,相同的依赖在任何机器上都会以完全一致的方式安装
- 网络性能(Network Performance):高效对网络请求排队、避免请求瀑布(request waterfall),最大化网络利用率
- 网络韧性(Network Resilience):单个请求失败不会拖垮整个安装,失败请求自动重试
- 扁平模式(Flat Mode):把版本不匹配的依赖解析为单一版本,避免依赖目录里出现大量重复副本
2. v1.22.22 版本亮点
该版本汇集了 1 位贡献者 的 3 条 贡献(2024-03-09 发布)。
v1.22.22 是 1.x 维护线上一个小而实用的修复版本,由 Yarn 核心维护者完成,共包含两处修复:
运行输出更干净
- 修复了 punycode 弃用警告:在较新版本的 Node.js 上运行 Yarn 时,控制台不再出现 punycode 警告,命令输出恢复清爽
依赖安装更可靠
- 修复了依赖提升(hoisting)问题:当传递依赖(transitive dependencies)自身又把别名(alias,形如
foo@npm:bar)列为依赖时,此前的 Yarn 在构建依赖树时可能处理不当,导致安装结果不正确,本版本已修复该问题
3. 获取安装包
如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/2265(内含 yarn-v1.22.22.tar.gz、README 中英对照、发布说明中英对照和 LICENSE)。
Yarn 其他版本:https://hanshuixin.org/resource/software_integrated_package/macOS/Yarn
macOS安装yarn-v1.22.22(yarn-v1.22.22).zip
├── yarn-v1.22.22.tar.gz
├── macOS安装yarn-v1.22.22(yarn-v1.22.22).pdf
├── README/
│ ├── README.md
│ └── README-中文版.md
├── 发布说明/
│ ├── RELEASE-NOTES.md
│ └── RELEASE-NOTES-中文版.md
└── LICENSE4. 安装
Yarn 基于 Node.js 运行,安装前请确认本机已安装 Node.js。在终端中进入整合包解压后 yarn-v1.22.22.tar.gz 所在目录,依次执行:
# 1. 解压到用户主目录下的 ~/.yarn(--strip 1 去掉压缩包顶层目录)
mkdir -p ~/.yarn
tar zxf yarn-v1.22.22.tar.gz -C ~/.yarn --strip 1
# 2. 把 yarn 加入 PATH(zsh 为 macOS 默认 shell;bash 用户写入 ~/.bash_profile)
echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# 3. 验证安装
yarn --version执行 yarn --version 输出 1.22.22 即安装成功。
偏好包管理器的用户也可以用 Homebrew 直接安装:
brew install yarn5. 使用
5.1 初始化新项目
yarn init在当前目录创建 package.json,按向导填写项目名称、版本等信息。
5.2 安装与管理依赖
yarn # 按 package.json 安装全部依赖,并生成 yarn.lock
yarn add lodash # 安装 lodash 并写入 dependencies
yarn add --dev jest # 安装为开发依赖(devDependencies)
yarn remove lodash # 移除依赖
yarn upgrade # 按版本规则升级依赖yarn.lock 锁定每个依赖的精确版本,团队成员与部署机器拿到的依赖树完全一致——这正是 Yarn 可靠性的核心。
5.3 查询与排查
yarn why lodash # 查看某个依赖为什么被引入、被谁依赖
yarn outdated # 列出有待升级的过期依赖
yarn list --depth=0 # 列出顶层依赖
yarn cache clean # 清空全局缓存5.4 切换国内镜像源提速
国内网络环境下,把注册表(registry)换成国内镜像可显著加快下载:
yarn config set registry https://registry.npmmirror.com5.5 运行项目脚本
package.json 中 scripts 字段定义的命令都可以直接运行:
yarn start
yarn build
yarn test