name: pnpm description: 使用pnpm管理Node.js依赖时使用 - 提供工作区设置、目录、CLI命令、覆盖和CI配置 license: MIT
pnpm
内容可寻址存储、严格依赖、工作区协议、目录。
何时使用
- 安装/管理npm包
- 使用目录的Monorepo工作区设置
- 覆盖传递依赖
- 修补第三方包
- pnpm项目的CI/CD配置
- 供应链安全加固
快速开始
pnpm install # 安装依赖
pnpm add <pkg> # 添加依赖
pnpm add -D <pkg> # 开发依赖
pnpm -r run build # 在所有包中运行
pnpm --filter @myorg/app build # 在特定包中运行
工作区设置
# pnpm-workspace.yaml
packages:
- 'packages/*'
- 'apps/*'
# 用于集中版本管理的目录
catalog:
react: ^18.2.0
typescript: ~5.3.0
// package.json - 使用工作区协议和目录
{
"packageManager": "pnpm@10.28.2",
"dependencies": {
"@myorg/utils": "workspace:^",
"react": "catalog:"
}
}
参考文件
| 任务 | 文件 |
|---|---|
| 命令、脚本、过滤 | cli.md |
| 工作区、目录、配置 | workspaces.md |
| 覆盖、补丁、钩子、存储 | features.md |
| CI/CD、Docker、迁移 | ci.md |
加载文件
根据您的任务考虑加载这些参考文件:
- [ ] references/cli.md - 如果使用pnpm命令、脚本或过滤
- [ ] references/workspaces.md - 如果设置monorepo、目录或工作区配置
- [ ] references/features.md - 如果使用覆盖、补丁、钩子或管理存储
- [ ] references/ci.md - 如果配置CI/CD、Docker或从npm/yarn迁移
不要一次性加载所有文件。 仅加载与您当前任务相关的文件。
跨技能参考
- TypeScript库 → 使用
ts-library技能获取库模式 - 构建工具 → 使用
tsdown或vite技能