首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Yarn >Yarn 的零安装功能是怎么让团队不用跑 install 的?

Yarn 的零安装功能是怎么让团队不用跑 install 的?

词条归属:Yarn

1. 把安装产物提交到版本控制

  • 零安装(Zero Installs)的核心思路是:将所有安装产物纳入版本控制,克隆仓库后即具备运行项目的全部文件,无需执行 yarn install
  • 切换分支时,版本控制系统在 checkout 的同时也就完成了依赖的更新
  • 这一模式尤其适合高速迭代的项目,能避免因忘记重装依赖而导致工具崩溃的问题

2. 依赖 Plug'n'Play 与离线缓存两个特性

  • 单纯提交 node_modules 不可行——其中包含成千上万个文件,频繁增删依赖时会被随意移动,产生巨大的 diff
  • Yarn 的做法是:在 Plug'n'Play 模式下生成单一的 .pnp.cjs 映射文件,并把离线缓存(.yarn/cache)提交到仓库
  • 由于 PnP 加载器的内容在任何机器上都完全相同,且离线缓存包含了加载器引用的所有文件,git checkout 实际上就等价于一次"准安装"

3. 适用边界与注意事项

  • 添加或删除带有原生依赖(native dependencies)的包时,仍需运行 yarn install,因为这类包依赖的文件无法像 Node.js 脚本那样直接从 zip 归档中求值
  • 这类包在实践中较少见、更新也不频繁,且 Yarn 会在遗忘时给出明确的错误提示
  • 建议将缓存文件以未压缩形式存储,因为实测显示未压缩状态下的仓库体积反而更小、Git 的 delta 计算也更高效
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券