pnpm 是快速、节省磁盘空间的 Node.js 包管理器。它使用内容寻址存储,在机器上所有项目之间去重包,显著节省磁盘空间;默认强制严格依赖解析,防止幻影依赖。pnpm 专属配置建议放在 pnpm-workspace.yaml 中。处理 pnpm 项目时应检查 pnpm-workspace.yaml 与 .npmrc,以了解工作区结构与配置;CI 环境务必使用 --frozen-lockfile。该技能基于 pnpm 10.x,生成于 2026-01-28。
核心内容涵盖:CLI 命令(安装、add、remove、update、run、exec、dlx 及工作区命令);配置(pnpm-workspace.yaml、.npmrc 设置与 package.json 字段);工作区(通过过滤、workspace 协议与共享锁文件支持 monorepo);存储(内容寻址存储、硬链接与磁盘效率)。
特性涵盖:Catalogs 集中管理工作区依赖版本;Overrides 强制指定含传递依赖在内的版本;Patches 用自定义修复修改第三方包;Aliases 使用 npm: 协议以自定义名称安装包;Hooks 通过 .pnpmfile.cjs 钩子定制解析;Peer Dependencies 自动安装、严格模式与依赖规则。
最佳实践涵盖:CI/CD 设置(GitHub Actions、GitLab CI、Docker 与缓存策略);迁移(从 npm/Yarn 迁移、处理幻影依赖、monorepo 迁移);性能(安装优化、存储缓存、工作区并行化)。具体命令与代码示例资料未完整提供。