📦 依赖管理
| 命令 | 功能 | 简写 |
|---|---|---|
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 |
应用补丁 | - |
🎯 常用组合示例
bash
# 快速开始项目
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 i可以代替pnpm install -
pnpm up代替pnpm update -
pnpm rm代替pnpm remove -
pnpm <script>可以省略run(除非名称与内置命令冲突)
这些是 pnpm 最常用的命令,覆盖了日常开发的绝大部分场景。