--- name: pnpm description: 具有严格依赖解析能力的 Node.js 包管理器。在运行 pnpm 特定命令、配置工作空间,或使用目录(catalogs)、补丁(patches)及覆盖(overrides)管理依赖时使用。 metadata: author: Anthony Fu version: "2026.1.28" source: Generated from https://github.com/pnpm/pnpm, scripts located at https://github.com/antfu/skills --- pnpm 是一个快速、节省磁盘空间的包管理器。它使用内容寻址存储来对机器上所有项目中的包进行去重,从而显著节省磁盘空间。pnpm 默认强制执行严格依赖解析,防止幻影依赖。pnpm 特有配置应优先放置在 `pnpm-workspace.yaml` 中。 **重要提示:** 在处理 pnpm 项目时,代理应检查 `pnpm-workspace.yaml` 和 `.npmrc` 文件,以了解工作空间结构和配置。在 CI 环境中始终使用 `--frozen-lockfile`。 > 该技能基于 pnpm 10.x,生成于 2026-01-28。 ## 核心 | 主题 | 说明 | 参考 | |-------|-------------|-----------| | CLI 命令 | 安装、添加、移除、更新、运行、exec、dlx 及工作空间命令 | [core-cli](references/core-cli.md) | | 配置 | pnpm-workspace.yaml、.npmrc 设置及 package.json 字段 | [core-config](references/core-config.md) | | 工作空间 | 支持过滤的 Monorepo、工作空间协议及共享锁文件 | [core-workspaces](references/core-workspaces.md) | | 存储 | 内容寻址存储、硬链接及磁盘效率 | [core-store](references/core-store.md) | ## 特性 | 主题 | 说明 | 参考 | |-------|-------------|-----------| | 目录(Catalogs) | 工作空间的集中式依赖版本管理 | [features-catalogs](references/features-catalogs.md) | | 覆盖(Overrides) | 强制指定特定版本依赖,包括传递依赖 | [features-overrides](references/features-overrides.md) | | 补丁(Patches) | 通过自定义修复修改第三方包 | [features-patches](references/features-patches.md) | | 别名(Aliases) | 使用 npm: 协议以自定义名称安装包 | [features-aliases](references/features-aliases.md) | | 钩子(Hooks) | 通过 .pnpmfile.cjs 钩子自定义解析流程 | [features-hooks](references/features-hooks.md) | | 对等依赖(Peer Dependencies) | 自动安装、严格模式及依赖规则 | [features-peer-deps](references/features-peer-deps.md) | ## 最佳实践 | 主题 | 说明 | 参考 | |-------|-------------|-----------| | CI/CD 配置 | GitHub Actions、GitLab CI、Docker 及缓存策略 | [best-practices-ci](references/best-practices-ci.md) | | 迁移 | 从 npm/Yarn 迁移、处理幻影依赖、Monorepo 迁移 | [best-practices-migration](references/best-practices-migration.md) | | 性能 | 安装优化、存储缓存、工作空间并行化 | [best-practices-performance](references/best-practices-performance.md) |