2.8 KiB
2.8 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| pnpm | 具有严格依赖解析能力的 Node.js 包管理器。在运行 pnpm 特定命令、配置工作空间,或使用目录(catalogs)、补丁(patches)及覆盖(overrides)管理依赖时使用。 |
|
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 |
| 配置 | pnpm-workspace.yaml、.npmrc 设置及 package.json 字段 | core-config |
| 工作空间 | 支持过滤的 Monorepo、工作空间协议及共享锁文件 | core-workspaces |
| 存储 | 内容寻址存储、硬链接及磁盘效率 | core-store |
特性
| 主题 | 说明 | 参考 |
|---|---|---|
| 目录(Catalogs) | 工作空间的集中式依赖版本管理 | features-catalogs |
| 覆盖(Overrides) | 强制指定特定版本依赖,包括传递依赖 | features-overrides |
| 补丁(Patches) | 通过自定义修复修改第三方包 | features-patches |
| 别名(Aliases) | 使用 npm: 协议以自定义名称安装包 | features-aliases |
| 钩子(Hooks) | 通过 .pnpmfile.cjs 钩子自定义解析流程 | features-hooks |
| 对等依赖(Peer Dependencies) | 自动安装、严格模式及依赖规则 | features-peer-deps |
最佳实践
| 主题 | 说明 | 参考 |
|---|---|---|
| CI/CD 配置 | GitHub Actions、GitLab CI、Docker 及缓存策略 | best-practices-ci |
| 迁移 | 从 npm/Yarn 迁移、处理幻影依赖、Monorepo 迁移 | best-practices-migration |
| 性能 | 安装优化、存储缓存、工作空间并行化 | best-practices-performance |