pnpm 的内容寻址存储天然适合作为 CI 缓存对象。与缓存每个项目独立的 node_modules 相比,缓存全局 store 的体积更小(通常可减少 40%~60%),且缓存命中率更高。当多个工作区共享大量相同依赖时,一次缓存恢复即可覆盖所有工作区的依赖需求,显著缩短 CI 安装时间。
CI 环境中 pnpm 自动启用冻结锁文件模式,确保每次构建安装的依赖与本地开发完全一致。配合 --prefer-offline 参数,当 store 缓存已恢复时,pnpm 会跳过网络检查直接从本地缓存链接,进一步压缩安装耗时。实测数据显示,配置了 store 缓存的 CI 流水线,其安装时间可比未缓存场景缩短 60%~70%。
pnpm 支持在 CI 中按变更范围精准安装和构建,如 pnpm --filter "...[origin/main]" build 仅处理自上次主分支更新以来有变更的包及其依赖者,避免全量构建的资源浪费。配合 Turborepo、Nx 等构建编排工具,可实现基于依赖图的增量构建,在大规模 monorepo 中效果尤为显著。