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

pnpm 入门与实践指南

pnpm 入门与实践指南

一个高效、快速、节省磁盘空间的 Node.js 包管理器替代方案。

为什么选择 pnpm?

  • 🧩 节省磁盘空间:pnpm 通过硬链接共享依赖,避免重复安装。
  • 🚀 安装速度更快:相比 npm/yarn 更高效。
  • 🔐 默认严格依赖:避免隐式依赖,项目更稳定。
  • 🛠️ 更好的工作区支持:内建 monorepo 管理工具,媲美 Lerna + Yarn Workspaces。

安装 pnpm

你可以通过 npm 安装 pnpm:

npm install -g pnpm

或者使用 corepack(Node.js >= 16.13.0):

corepack enable
corepack prepare pnpm@latest --activate

验证版本:

pnpm -v

常用命令对比

操作npmyarnpnpm
安装依赖npm installyarnpnpm install
添加依赖npm install lodashyarn add lodashpnpm add lodash
添加 dev 依赖npm install -D typescriptyarn add -D typescriptpnpm add -D typescript
删除依赖npm uninstall lodashyarn remove lodashpnpm remove lodash
清空缓存npm cache clean --forceyarn cache cleanpnpm store prune

使用 pnpm workspace 管理 Monorepo

pnpm 原生支持 monorepo,创建项目结构如下:

my-monorepo/
├── package.json
├── pnpm-workspace.yaml
└── packages/├── a/└── b/

根目录 package.json

{"name": "my-monorepo","private": true,"workspaces": ["packages/*"]
}

pnpm-workspace.yaml

packages:- 'packages/*'

常见问题与解决方案

Q: 项目引用未生效?

A: 确保在根目录运行 pnpm install,而非子项目。

Q: 某些依赖无法安装?

A: 尝试加上 --shamefully-hoist 参数兼容旧项目:

pnpm install --shamefully-hoist

小技巧

只更新部分包

pnpm update <package-name>

执行子包命令

pnpm -F <package-name> run <script>

总结

如果你正在为项目安装慢、node_modules 体积大、依赖错乱等问题困扰,pnpm 是非常值得尝试的解决方案。它的设计理念与性能优化让它在现代前端工程中表现出色,特别适合 Monorepo 场景。


参考链接

  • pnpm 官网
  • pnpm 与 npm/yarn 对比
http://www.dtcms.com/a/304749.html

相关文章:

  • 字节序详解
  • webpack 原理及使用
  • 纸板制造胶工艺学习1
  • FlinkCDC实现多数据源数据集的增量更新实战
  • 磁悬浮转子同频振动:自适应陷波器设计与稳定性深度解析(附MATLAB代码)
  • 8.项目起步(2)
  • 本土化DevOps实践新篇章:Gitee引领企业高效协作新时代
  • 自学嵌入式 day37 HTML
  • Go 客户端玩转 ES|QL API 直连与 Mapping Helpers 实战详解
  • 做副业,要事不过三
  • CentOS 7部署Redis
  • 如何理解js中的副作用
  • 沪铝本周想法
  • docker docker与swarm入门笔记
  • 云原生周刊:2025年的服务网格
  • 【Linux基础知识系列】第七十篇 - 了解swap分区的概念
  • 【Linux篇】补充:消息队列和systemV信号量
  • 【图像噪点消除】——图像预处理(OpenCV)
  • 以太坊十年:智能合约与去中心化的崛起
  • 第5课 sort函数
  • Couchbase 详解
  • HBase 详解
  • 使用jQuery时的注意事项
  • Java 大视界 -- Java 大数据机器学习模型在金融信用评级模型优化与信用风险动态管理中的应用(371)
  • 每日学习笔记记录(分享更新版-凌乱)
  • 亚马逊欧洲站流量破局:多维策略重构与运营效能升级
  • 社区版 2025.7 | CQ-Mate V1.3发布啦!
  • python线性回归:从原理到实战应用
  • 广告投放平台:从痛点解决到高效管理的全解析
  • 数据库02 网页html01 day44