Yarn
包管理器
前端与全栈开发者使用Yarn(4.x)管理依赖时,能同时获得包管理器与项目组织者的双重能力——它原生支持工作空间拆分、零安装部署、插件扩展,并承诺安装行为跨版本可复现。
| 收费 | 开源免费,无企业版收费计划 |
|---|---|
| 平台 | 跨平台(Windows/macOS/Linux),依赖Node.js |
| 中文 | 官网无中文版,文档仅英文 |
| 用途 | JavaScript/TypeScript项目的包管理与项目组织 |
Yarn 4.x将包管理器与项目管理者角色合并,覆盖从简单项目到行业级单体仓库(monorepo)的场景。其工作空间(Workspaces)功能是首个专为子组件拆分设计的包管理器内置方案,允许将项目分割为多个子组件并统一管理依赖。
Yarn提供多层缓存配置,核心是离线镜像(Offline Mirror)和零安装(Zero-Installs)。离线镜像通过设置enableGlobalCache为false,将包缓存保存到项目本地目录(默认.yarn/cache),并允许提交到Git仓库,确保即使npm registry宕机也能安装。零安装则进一步结合PnP(Plug'n'Play)模式,将缓存直接作为实际依赖使用,彻底跳过yarn install步骤。
Yarn是完全独立的开源项目,不隶属于任何公司,路线图由贡献者社区共同定义。它挑战包管理器的既有工作流,持续推出新流程并改进旧模式。
Q1:Yarn 4.x的零安装(Zero-Installs)如何工作?
A1:零安装是离线镜像与PnP模式的组合:将包缓存提交到Git仓库,并让PnP直接使用缓存作为依赖,切换分支后无需运行yarn install,工具即可直接工作。
Q2:Yarn的离线镜像(Offline Mirror)与自建npm镜像(如Verdaccio)有何区别?
A2:离线镜像通过将缓存保存在项目目录(.yarn/cache)并提交到Git实现,无需额外服务器;而Verdaccio需要部署和维护独立服务,且存在单点风险。Yarn方案对开发者与CI更透明。
Q3:Yarn是否支持工作空间(Workspaces)?
A3:Yarn是首个专为工作空间设计的包管理器,支持将项目拆分为多个子组件,统一管理依赖版本和脚本。
更多同类工具与网站,可在构建工具分类继续挑选。
信息核实于 2026年7月,具体以官网为准。
评论
暂无评论