PNPM 常用命令

一、基础查看 & 信息类

复制代码
# 查看pnpm版本
pnpm -v

# 查看当前项目依赖树(展开)
pnpm ls

# 只看生产依赖,不看dev依赖
pnpm ls --prod

# 查看包的详细信息(npm包信息、版本、依赖)
pnpm info dayjs

# 检查依赖是否有版本冲突、冗余
pnpm audit

# 检查哪些包存在安全漏洞,并给出修复建议
pnpm audit --fix

二、依赖更新相关(非常常用)

复制代码
# 更新所有依赖到兼容的最新版本(依据package.json ^版本)
pnpm update

# 更新指定包
pnpm update dayjs

# 递归更新所有workspace子包的依赖
pnpm -r update

# 升级到大版本(会修改package.json版本号,谨慎使用!)
pnpm add dayjs@latest

# 交互式选择升级包(推荐,手动挑选要升级的包)
pnpm update -i

三、开发依赖安装(开发工具、类型、eslint、构建插件)

复制代码
# -D / --save-dev:安装为开发依赖(仅开发环境用,打包不打入)
pnpm add eslint -D

# monorepo:给根目录安装开发依赖
pnpm add eslint -D -w

# filter 指定子包安装开发依赖
pnpm --filter app-one add eslint -D

四、清理、缓存、锁文件

复制代码
# 清理项目 node_modules + pnpm-lock.yaml(重装前清理)
pnpm remove-all

# 删除全局pnpm缓存(解决缓存损坏、包异常)
pnpm store prune

# 只删除当前项目node_modules
rm -rf node_modules
# pnpm 原生删除当前目录node_modules
pnpm exec rm -rf node_modules

# 重新生成lock文件(修改package.json后,同步lock)
pnpm install --lockfile-only

五、执行脚本 / 二进制命令(pnpm exec)

复制代码
# 在当前包执行命令,调用node_modules里的二进制(不用全局装)
pnpm exec vite
pnpm exec eslint .

# workspace:所有子包执行同一个脚本(package.json scripts)
pnpm -r run build

# filter:只在app-one执行脚本
pnpm --filter app-one run dev

六、workspace 辅助查看命令

复制代码
# 列出当前workspace所有子包名称、路径
pnpm workspace list

# 查看某个子包依赖为什么被安装(溯源依赖)
pnpm why dayjs

# 递归查看全仓库,哪个包依赖了 dayjs
pnpm -r why dayjs

七、链接 / 本地调试包(本地包调试,monorepo 外也能用)

复制代码
# 把本地包链接到全局,方便跨项目调试
pnpm link ../packages/my-utils

# 取消本地link
pnpm unlink my-utils

八、锁文件操作

复制代码
# 安装依赖,不修改lock文件
pnpm install --frozen-lockfile
# CI流水线强烈推荐,保证环境完全一致,不自动升级依赖

补充速查备注(加到你的笔记)

  1. -D = --save-dev:开发依赖,打包不会打进产物;业务库、运行时组件不要用 - D。
  2. --frozen-lockfile:CI 必用。lock 文件固定,不会自动更新版本,保证构建环境稳定。
  3. pnpm why:排查版本冲突、幽灵依赖神器,定位是谁引入了某个包。
  4. pnpm audit:安全扫描,定期执行检查依赖漏洞。
  5. -r 递归、--filter过滤:monorepo 最核心的两个修饰符,几乎所有命令都可以追加。

极简符号备忘

  • -w:安装到 workspace 根
  • -D:开发依赖 devDependencies
  • -r:recursive 递归所有子包
  • --filter xxx:仅在指定子包执行

以上的命令可以自己测试下,以实测为准。

相关推荐
请为小H留灯8 天前
Windows 本地前端项目一键运行指南:Volta+Node+pnpm + 阿里镜像完整初始化流程
前端·pnpm·node·js
D_jing201 个月前
【踩坑解决】pnpm+Vite引入@koi/core报错spark-md5找不到模块(幽灵依赖深度解析)
pnpm·vite·幽灵依赖·前端踩坑
李游Leo1 个月前
Node.js 开发环境安装与 npm/pnpm 国内镜像配置(Windows / macOS / Linux)
npm·node.js·pnpm·前端开发·开发环境
暂时先用这个名字2 个月前
安装deepseek harness及插件
人工智能·ai·npm·pnpm·deepseek·深度求索·harness
__zRainy__3 个月前
解决pnpm v10+不自动构建
前端·pnpm·工程化
爱好曙光3 个月前
前端Monorepo依赖管理优化:pnpm硬链接与按需安装实战
性能优化·pnpm·monorepo·前端工程化
小虎4 个月前
npm和pnpm常用命令
npm·pnpm·镜像源·缓存目录
孟郎郎5 个月前
TimeoutError: The operation was aborted due to timeout at new DOMException
ai·前端框架·npm·vue·pnpm·deepseek
神秘代码行者5 个月前
pnpm zip命令详解
前端·npm·pnpm