📦 依赖管理
| 命令 |
功能 |
简写 |
pnpm install |
安装所有依赖 |
pnpm i |
pnpm add <包名> |
添加依赖到 dependencies |
pnpm a |
pnpm add -D <包名> |
添加开发依赖到 devDependencies |
pnpm add --save-dev |
pnpm add -g <包名> |
全局安装包 |
- |
pnpm update |
更新依赖 |
pnpm up |
pnpm remove <包名> |
移除依赖 |
pnpm rm |
pnpm link |
链接本地包 |
- |
pnpm unlink |
取消链接 |
- |
🚀 运行脚本
| 命令 |
功能 |
简写 |
pnpm run <脚本名> |
运行 package.json 中的脚本 |
pnpm <脚本名> |
pnpm dev |
运行开发服务器 |
- |
pnpm build |
构建项目 |
- |
pnpm start |
启动项目 |
- |
pnpm preview |
预览构建产物 |
- |
pnpm test |
运行测试 |
- |
pnpm exec <命令> |
在项目范围内执行命令 |
pnpm x |
🔍 查询与查看
| 命令 |
功能 |
简写 |
pnpm list |
列出已安装依赖 |
pnpm ls |
pnpm outdated |
查看可更新的包 |
- |
pnpm why <包名> |
解释为什么安装某个包 |
- |
pnpm info <包名> |
查看包的信息 |
- |
pnpm audit |
检查安全漏洞 |
- |
🧹 清理与维护
| 命令 | 功能 |
|----------------------|--------------|--------------------|
| pnpm prune | 移除无关的包 |
| pnpm dedupe | 去重依赖 | pnpm deduplicate |
| pnpm store prune | 清理全局存储中未使用的包 |
| pnpm store path | 查看存储路径 |
| pnpm cache list | 查看缓存 |
| pnpm cache rm <包名> | 清理指定包的缓存 |
🏗️ 工作空间 (Monorepo)
| 命令 |
功能 |
简写 |
pnpm -F <包名> <命令> |
在指定工作区运行命令 |
pnpm --filter |
pnpm -r <命令> |
在所有工作区递归执行 |
pnpm --recursive |
pnpm -w <命令> |
在工作区根目录执行 |
pnpm --workspace-root |
pnpm import |
从其他包管理器导入 lock 文件 |
- |
⚙️ 环境与配置
| 命令 |
功能 |
pnpm env use <版本> |
切换 Node.js 版本 |
pnpm env list |
列出已安装的 Node.js 版本 |
pnpm env add <版本> |
安装 Node.js 版本 |
pnpm config set <key> <value> |
设置配置 |
pnpm config get <key> |
获取配置 |
pnpm config delete <key> |
删除配置 |
pnpm config list |
列出所有配置 |
📊 其他实用命令
| 命令 |
功能 |
简写 |
pnpm init |
初始化新项目 |
- |
pnpm publish |
发布包到 npm |
- |
pnpm pack |
打包为 tarball |
- |
pnpm doctor |
检查环境问题 |
- |
pnpm setup |
设置 pnpm 环境 |
- |
pnpm fetch |
获取包到存储中但不安装 |
- |
pnpm patch <包名> |
创建补丁文件 |
- |
pnpm patch-commit |
应用补丁 |
- |
🎯 常用组合示例
# 快速开始项目
pnpm i && pnpm dev
# 清理重装(解决依赖问题)
pnpm store prune && rm -rf node_modules && pnpm i
# Monorepo 操作
pnpm -F @myapp/web build # 只构建 web 包
pnpm -r --parallel dev # 所有包并行运行 dev
# 全局操作
pnpm add -g pnpm # 更新 pnpm 自身
pnpm add -g @antfu/ni # 安装全局工具
💡 快捷技巧
这些是 pnpm 最常用的命令,覆盖了日常开发的绝大部分场景。