前端构建工具npm/yarn/pnpm

npmyarnpnpm 都是 Node.js 包管理器,核心职责一致:

  • 安装依赖
  • 解析依赖树
  • 管理 lock 文件
  • 运行脚本
  • 发布包

它们的主要差异,不在“能不能用”,而在:

  • 安装速度
  • 磁盘占用
  • 依赖管理机制
  • Monorepo 支持能力
  • 生态兼容性
  • 团队协作一致性

1.核心对比

维度 npm yarn pnpm
官方属性 Node 官方默认 第三方,历史很强 第三方,现代化很强
上手难度 最低 中等 中等
兼容性 最好 较好
安装速度 较快 较快 通常最快
磁盘占用 较高 较高 最省
依赖管理严格性 一般 一般到较强 最严格
Monorepo 支持 很强
老项目适配 最稳 很多老项目在用 可能踩旧坑
工程化体验 合格 很强

2.推荐决策矩阵

场景 推荐
个人小项目 npm / pnpm
企业新项目 pnpm
Monorepo pnpm
历史 Yarn 项目 Yarn
兼容性优先 npm
性能和磁盘优先 pnpm
最低学习成本 npm

3.命令对照

操作 npm yarn pnpm
安装全部依赖 npm install yarn pnpm install
安装生产依赖 npm install pkg yarn add pkg pnpm add pkg
安装开发依赖 npm install -D pkg yarn add -D pkg pnpm add -D pkg
删除依赖 npm uninstall pkg yarn remove pkg pnpm remove pkg
运行脚本 npm run dev yarn dev pnpm dev

4.结论

  • npm:最稳、最通用、默认首选
  • yarn:历史强者,老项目常见
  • pnpm:现代工程化最佳实践之一,适合新项目和 Monorepo