当前位置: 首页 > news >正文

pnpm常用命令;为什么使用pnpm?

为什么使用pnpm,可话费5分钟详细阅读本篇博文

常用命令

# 安装所有依赖
pnpm i# 示例:卸载 lodash
pnpm remove lodash# 示例:安装 Vue 的 next 标签版本
pnpm add vue@next# 最新版本
pnpm add lodash@latest# 清空缓存
pnpm store prune

以下是 pnpm 的常用命令总结,适用于日常开发:


1. 初始化项目

pnpm init  # 创建 package.json

2. 安装依赖

pnpm install          # 安装所有依赖(可简写为 `pnpm i`)
pnpm add <package>    # 安装生产依赖(如 `pnpm add lodash`)
pnpm add -D <package> # 安装开发依赖(如 `pnpm add -D typescript`)
pnpm add -g <package> # 全局安装(如 `pnpm add -g nodemon`)

3. 更新依赖

pnpm update             # 更新所有依赖
pnpm update <package>   # 更新指定包
pnpm up -g <package>    # 更新全局包

4. 移除依赖

pnpm remove <package>    # 移除依赖(可简写为 `pnpm rm`)
pnpm remove -g <package> # 移除全局包

5. 运行脚本

pnpm run <script>    # 运行 package.json 中的脚本(如 `pnpm run build`)
pnpm <script>        # 简写形式(若脚本名不与内置命令冲突)
pnpm test            # 等同于 `pnpm run test`

6. Monorepo 支持(Workspaces)

pnpm -F <package> <command>  # 在指定子包中运行命令(如 `pnpm -F core build`)
pnpm --filter <package> add <pkg>  # 为指定子包添加依赖
pnpm -r run <script>  # 在所有子包中运行脚本(如 `pnpm -r run test`)

7. 查看依赖

pnpm list            # 查看项目依赖树
pnpm list -g         # 查看全局安装的包
pnpm why <package>   # 检查包被哪个依赖引入

8. 清理与维护

pnpm store prune     # 清除未被引用的包(释放磁盘空间)
pnpm outdated        # 检查过时的依赖

9. 执行命令(类似 npx)

pnpm dlx <command>   # 临时执行包(如 `pnpm dlx create-react-app my-app`)

10. 环境管理

pnpm env use --global lts # 全局切换到 Node.js LTS 版本

常用参数

参数作用
-C <path>指定工作目录
--prod仅安装生产依赖(忽略 devDependencies)
--ignore-scripts跳过安装时的脚本执行

💡 提示

  • 速度快、磁盘节省:pnpm 通过硬链接共享依赖,比 npm/yarn 更高效。
  • 严格依赖:默认使用非平铺的 node_modules,避免幽灵依赖。
  • 工作空间:Monorepo 项目推荐用 pnpm workspaces 管理。
http://www.dtcms.com/a/330383.html

相关文章:

  • 古中医学习笔记专题文章导航
  • 【STM32入门教程】stm32简介
  • 基于 NVIDIA 生态的 Dynamo 风格分布式 LLM 推理架构
  • Kotlin Data Classes 快速上手
  • SwiftUI 页面弹窗操作
  • Windows批处理脚本自动合并当前目录下由You-get下载的未合并的音视频文件
  • Polyak-Ruppert 平均
  • UCLAMP3311T.TCT TVS二极管阵列 Semtech升特半导体 集成电路IC
  • tp5集成elasticsearch笔记
  • 20. 了解过尾递归优化吗
  • ASCII与Unicode:编码世界的奥秘
  • TLS 终止在真实业务中的防护价值
  • 36 C++ STL模板库5-string
  • Python网络爬虫(二) - 解析静态网页
  • IPTV系统:开启视听与管理的全新篇章
  • CMake 如何查找 Python2和Python3
  • 利用 Python 爬虫按图搜索 1688 商品(拍立淘)实战指南
  • 17. 如何判断一个对象是不是数组
  • 肖臻《区块链技术与应用》第十一讲:比特币核心概念重温:一文读懂私钥、交易、挖矿与网络现状
  • Redis7学习——Redis的十大类型String、List、Hash、Set、Zset
  • 解决:Gazebo连接模型数据库失败
  • linux 内核 - 内存管理概念
  • Apifox精准定义复杂API参数结构(oneOf/anyOf/allOf)
  • aave v3 存款与借款利息的计算方式
  • 码上爬第七题【协程+参数加密+响应解密+格式化检测】
  • C#面试题及详细答案120道(11-20)-- 面向对象编程(OOP)
  • LeetCode Day5 -- 二叉树
  • 嵌入式学习(day26)frambuffer帧缓冲
  • 【系统安装】虚拟机中安装win10企业版系统记录
  • HarmonyOS 开发实战:搞定应用名字与图标更换,全流程可运行示例