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

1. Yarn 简介
Yarn 是一个 JavaScript 依赖管理工具(包管理器),由 Facebook(现 Meta)、Google、Exponent(现 Expo)与 Tilde 四家公司于 2016 年 10 月联合发布,旨在解决当时 npm 在安装速度、依赖一致性与安全性方面的不足。它一经推出就凭借确定性的安装机制和显著的提速效果赢得社区青睐,成为 JavaScript 生态中使用最广泛的包管理器之一,GitHub 上已获得超过 4.1 万个 Star(截至 2026 年 9 月)。社区习惯将 1.x 版本线称为 Yarn Classic(经典版),其官方定位已转为仅做维护性修复,新特性开发转向了后继的 Yarn Berry(2.x 及以上版本)。不过,大量存量项目仍在使用 Yarn 1,它依然是前端开发者日常工作中最常打交道的工具之一。
Yarn 的自我定位是"快速、可靠、安全的依赖管理"。它会把下载过的每一个包缓存到本地,避免重复下载;同时将请求并发执行,尽可能榨干网络带宽;安装结果由锁定文件(lockfile)精确锁定,保证同一份依赖清单在任何机器上都能以完全一致的方式安装成功;每个包的代码在执行前还会经过校验和(checksum)完整性验证。
Yarn 的核心特点如下:
- 离线模式:安装过的包无需联网即可再次安装
- 确定性安装:依赖的安装结果与操作顺序无关,任何机器上都完全一致
- 网络性能:高效排列请求队列,避免请求瀑布,最大化网络利用率
- 网络韧性:单个请求失败不会导致整个安装失败,失败请求自动重试
- 扁平模式:将不匹配的依赖版本解析为单一版本,避免重复安装
- 安全校验:包代码执行前先经校验和验证,保障完整性
2. v1.22.22 版本亮点
该版本汇集了 1 位贡献者 的 3 条 提交。
v1.22.22 是 Yarn Classic 1.x 维护线上的一个补丁版本,主要包含两项问题修复:
- 修复 punycode 警告。 较新的 Node.js 版本已将内置的 punycode 模块标记为弃用,此前运行 Yarn 时终端会打印出刺眼的弃用警告信息,本版本消除了该警告。
- 修复依赖提升(hoisting)问题。 当传递依赖(transitive dependencies)自身又将别名(alias)形式的包列为依赖时,依赖提升阶段可能出现错装版本的情况,本版本修复了这一问题。
对于日常使用而言,这个版本让 Yarn 1 在新版 Node.js 上的运行输出更加干净,也让存在复杂别名依赖的项目安装结果更加可靠。
3. 获取安装包
如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/2266(内含 yarn-v1.22.22.tar.gz、README 中英对照、发布说明中英对照和 LICENSE)。
Yarn 其他版本:https://hanshuixin.org/resource/software_integrated_package/Linux/Yarn
Linux安装yarn-v1.22.22(yarn-v1.22.22).zip
├── yarn-v1.22.22.tar.gz ← Yarn 官方发行包,解压即可使用
├── Linux安装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(支持 4.0 及以上版本,建议使用较新的 LTS 版本)。
使用整合包根目录中的 yarn-v1.22.22.tar.gz 安装。该包为纯 JavaScript 实现,跨发行版、跨架构通用,解压后将其中的可执行目录加入 PATH 即可:
tar -xzf yarn-v1.22.22.tar.gz
sudo mv yarn-v1.22.22 /opt/yarn将 Yarn 的 bin 目录写入 PATH(以 bash 为例,zsh 用户改为写入 ~/.zshrc):
echo 'export PATH="$PATH:/opt/yarn/bin"' >> ~/.bashrc
source ~/.bashrc验证安装:
yarn --version
# 输出 1.22.22 即安装成功5. 使用
5.1 初始化新项目
在项目目录中运行:
yarn init按提示填写项目名称、版本等信息后,会生成 package.json,作为整个项目的依赖清单。已存在 package.json 的项目无需重复初始化。
5.2 添加、升级与移除依赖
yarn add lodash # 添加生产依赖
yarn add --dev jest # 添加开发依赖
yarn add lodash@4.17.21 # 安装指定版本
yarn upgrade lodash # 升级某个依赖
yarn remove lodash # 移除某个依赖每次操作都会同步更新 package.json 与 yarn.lock,保证依赖状态可复现。
5.3 安装项目依赖
克隆或拉取他人项目后,在项目根目录运行:
yarn installYarn 会依据 package.json 与 yarn.lock 精确安装依赖。由于锁定文件的存在,团队每个成员、每一台 CI 机器上得到的依赖树都完全一致。
5.4 查询与诊断
yarn why lodash # 解释某个包为什么被安装、被谁依赖
yarn outdated # 列出可升级的过期依赖
yarn info lodash # 查看某个包的详细信息排查"这个包是怎么进来的"这类问题时,yarn why 尤其好用。
5.5 缓存管理
Yarn 将下载过的包缓存到本地目录,再次安装时直接取用,支持离线安装:
yarn cache dir # 查看缓存目录位置
yarn cache clean # 清空缓存5.6 配置镜像源加速(可选)
国内网络环境下,可将注册表(registry)切换为国内镜像以加快下载:
yarn config set registry https://registry.npmmirror.com
yarn config get registry # 确认当前镜像源5.7 全局安装命令行工具
yarn global add typescript # 全局安装,之后可直接使用 tsc 命令全局安装的命令行工具可在任意目录直接调用。