mcpField
P
pnpm

pnpm

github.com/hairyf开发26234 次安装3 周前更新
代码仓库

关于 pnpm

pnpm 是面向 JavaScript 项目的包管理器技能,涵盖命令、配置、工作区和常见运维实践。它强调内容寻址存储、依赖隔离及 monorepo 管理。

主要功能

  1. 01安装与 CLI 命令参考
  2. 02工作区与依赖筛选
  3. 03内容寻址存储与缓存
  4. 04配置、补丁与依赖覆盖
  5. 05CI、Docker 与生产部署指南

适用场景

  1. 01管理 monorepo 中的依赖和脚本
  2. 02在 CI 中执行锁文件固定安装
  3. 03排查依赖解析和安装错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hairyf/skills --skill pnpm

安装后在 Claude Code 中输入/pnpm确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

GENERATION.md
references/
advanced-limitations.md
best-practices-ci.md
best-practices-docker.md
best-practices-git.md
best-practices-migration.md
best-practices-only-allow-pnpm.md
best-practices-performance.md
best-practices-podman.md
best-practices-production.md
best-practices-typescript.md
core-cli.md
core-config.md
core-errors.md
core-installation.md
core-limitations.md
core-package-sources.md
core-store.md
core-typescript.md
core-workspaces.md
features-aliases.md
features-cache.md
features-catalogs.md
features-changesets.md
features-completion.md
features-config-dependencies.md
features-env.md
features-filtering.md
features-finders.md
features-git-branch-lockfiles.md

详细介绍

pnpm 是一款速度快、磁盘空间利用率高的包管理器。它使用内容寻址存储,在一台机器上的所有项目之间去重软件包,从而显著节省磁盘空间。pnpm 默认强制严格解析依赖,防止出现幻影依赖。对于 pnpm 特定设置,最好将配置放在 pnpm-workspace.yaml 中。

重要提示: 使用 pnpm 项目时,Agent 应检查 pnpm-workspace.yaml 和 .npmrc 文件,以了解工作区结构和配置。在 CI 环境中始终使用 --frozen-lockfile。

此技能基于 pnpm 10.x,于 2026-02-01 生成。

核心

主题描述参考
安装独立脚本、Corepack、npm、系统包管理器core-installation
CLI 命令安装、添加、移除、更新、运行、执行、dlx 和工作区命令core-cli
配置pnpm-workspace.yaml、.npmrc 设置和 package.json 字段core-config
工作区支持单体仓库,具备筛选、工作区协议和共享锁文件功能core-workspaces
存储内容寻址存储、硬链接和磁盘空间效率core-store
软件包来源npm、JSR、工作区、Git、tarball——可信和特殊来源core-package-sources
错误常见错误代码及解决方法core-errors

功能

主题描述参考
筛选用于 --filter 的丰富选择器语法(依赖项、依赖方、变更项、glob)features-filtering
目录集中管理工作区依赖版本features-catalogs
覆盖强制指定依赖项的版本,包括传递依赖features-overrides
补丁使用自定义修复修改第三方软件包features-patches
别名使用 npm: 协议以自定义名称安装软件包features-aliases
钩子使用 .pnpmfile.cjs 钩子自定义解析features-hooks
对等依赖自动安装、严格模式和依赖规则features-peer-deps
配置依赖在项目间共享钩子、目录和补丁features-config-dependencies
Git 分支锁文件使用分支专属锁文件避免合并冲突features-git-branch-lockfiles
Changesets单体仓库版本管理和发布features-changesets
供应链安全allowBuilds、blockExoticSubdeps、trustPolicyfeatures-supply-chain-security
查找器按软件包属性搜索依赖关系图(v10.16+)features-finders
补全Shell Tab 补全(Bash、Zsh、Fish)features-completion
脚本生命周期脚本和 pnpm:devPreinstallfeatures-scripts
缓存元数据缓存命令(list、view、delete)features-cache
Node.js 环境管理 Node.js 版本(pnpm env use/add/remove)features-env
发布与部署用于 Docker 和注册表的 publish、pack、deploy、fetchfeatures-publish-deploy

最佳实践

主题描述参考
CI/CD 设置GitHub Actions、GitLab CI、Docker 和缓存策略best-practices-ci
DockerBuildKit 缓存、pnpm fetch、用于 monorepo 的 pnpm deploybest-practices-docker
生产环境锁文件部署、离线安装best-practices-production
仅允许 pnpm使用 preinstall(only-allow)强制使用 pnpmbest-practices-only-allow-pnpm
TypeScriptpreserveSymlinks、packageExtensions、@pnpm/plugin-types-fixerbest-practices-typescript
PodmanBtrfs reflinks、store 和 node_modules 卷挂载best-practices-podman
Git锁文件提交和合并冲突解决best-practices-git
迁移从 npm/Yarn 迁移、处理幻影依赖、monorepo 迁移best-practices-migration
性能安装优化、store 缓存、工作区并行化best-practices-performance

高级

主题描述参考
限制忽略 npm 锁文件,binstubs 是 shell 脚本advanced-limitations

评论

支持 Markdown