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

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.xdnf.cn/news/17956.html

相关文章:

  • CV 医学影像分类、分割、目标检测,之【肺结节目标检测】项目拆解
  • 华为6730交换机恢复接口默认配置
  • 疏老师-python训练营-Day45Tensorboard使用介绍
  • elasticsearch冷热数据读写分离!
  • 数学建模-非线性规划模型
  • Linux编程1:进程和线程
  • 目标检测-动手学计算机视觉12
  • 爱情的本质及模拟推演
  • 机器翻译:Hugging Face库详解
  • 模型选择与调优
  • Java 并发新范式:用 Structured Concurrency 优雅收拾多线程烂摊子
  • Linux软件编程:进程和线程
  • 【软考中级网络工程师】知识点之入侵防御系统:筑牢网络安全防线
  • Linux中Samba服务配置与使用指南
  • 计算机毕设大数据选题推荐 基于spark+Hadoop+python的贵州茅台股票数据分析系统【源码+文档+调试】
  • 百川开源大模型Baichuan-M2的医疗能力登顶第一?
  • Flink CDC 实战:实时监听 MySQL Binlog 并同步到 Kafka
  • 《贵州棒球百科》体育赛事排名·棒球1号位
  • 面试题:如何用Flink实时计算QPS
  • 【120页PPT】人工智能与数字化转型的业财融合(附下载方式)
  • 计算机视觉第一课opencv(二)保姆级教
  • 解决SQL Server连接失败:Connection refused: connect
  • H.264、H.265 到 H.266:编码标准演进、RTSP支持与实时视频系统实战
  • 嵌入式学习(day26)frambuffer帧缓冲
  • Vue内置组件全解析:从入门到面试通关
  • 三种DuckDB电子表格插件的union all查询性能对比
  • 基于C语言基础对C++的进一步学习_C和C++编程范式、C与C++对比的一些补充知识、C++中的命名空间、文件分层
  • 流处理 or 批处理?大数据架构还需要流批一体吗?
  • 看懂 Linux 硬件信息查看与故障排查
  • LRU缓存