pnpm vs npm

pnpm vs npm

pnpm = Performant npm,高性能包管理器,现在前端新项目主流选择。

核心区别

表格

特性 npm pnpm
归属 Node.js自带,装 Node 就有 独立工具,需要额外安装
存储机制 每个项目完整复制一份依赖,磁盘占用大 全局内容可寻址存储 + 硬链接,多项目共用同一份包文件,磁盘节省很多
node_modules 扁平化提升,存在幽灵依赖(可以 import 没声明的包) 严格结构,默认禁止幽灵依赖,依赖更安全
锁文件 package‑lock.json pnpm‑lock.yaml(不能混用)稀土掘金
安装速度 一般 快很多,大项目差距明显
peer 依赖 npm7 + 严格校验,报 ERESOLVE 同样严格报冲突;也有 --legacy‑peer‑deps 参数
monorepo npm workspaces 原生强支持,pnpm‑workspace.yaml

⚠️ 不要混用包管理器 :一个项目只能用 npm /pnpm 其中一个;老项目切 pnpm:删除 node_modules + package‑lock.json,再执行 pnpm install。

pnpm 安装(3 种方式)

Node.js ≥16.14 推荐pnpm

方式 1:npm 全局安装(最简单,Windows 优先)

bash

复制代码
npm install -g pnpm

校验:

bash

复制代码
pnpm -v

方式 2:corepack(官方推荐,node 自带,不用 npm 全局)

Node16.13+ 内置 corepack:

bash

复制代码
corepack enable
corepack prepare pnpm@latest --activate

切换 node 版本时 pnpm 版本不会丢失,适合多 node 版本环境。

方式 3:系统脚本(不依赖 node 也可装)

Windows PowerShell

powershell

复制代码
iwr https://get.pnpm.io/install.ps1 -useb | iex

Mac / Linux

bash

复制代码
curl -fsSL https://get.pnpm.io/install.sh | sh -

常用命令对照

表格

功能 npm pnpm
安装全部依赖 npm install pnpm install / pnpm i
安装生产包 npm install xxx pnpm add xxx
安装开发包 npm install -D xxx pnpm add -D xxx
全局安装 npm install -g xxx pnpm add -g xxx
删除包 npm uninstall xxx pnpm remove xxx
运行脚本 npm run dev pnpm dev / pnpm run dev
临时执行包 npx xxx pnpm dlx xxx
清理缓存 npm cache clean --force pnpm store prune
peer 冲突绕过 npm i --legacy‑peer‑deps pnpm i --legacy‑peer‑deps
相关推荐
小羊没烦恼!11 分钟前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
智能直播3 小时前
RK3518:1.5G 内存 + 8G 存储,如何跑起硬件编解码、Web、AI 识别、绿幕特效
前端·人工智能·5g
掘金酱4 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
excel4 小时前
多进程环境下使用 PM2 部署 Socket.IO:需要注意什么
前端
IT_陈寒4 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
时间的情敌6 小时前
《回顾 2018 前端:Vue2 成熟期,Webpack4 发布,PWA 大火》
前端
Java后端的Ai之路6 小时前
前端技术Vue-09-webpack-vuejs-实战
前端·vue.js·webpack
LMT流氓兔6 小时前
第五单元——第4课:给工具参数加校验
java·前端·算法·ai·langchain
涛涛ing7 小时前
React Compiler正式“Rust化”:你项目里的Babel插件,正在被编译进打包器
前端
迷迭绿7 小时前
Cesium 轨迹回放播放器
前端·javascript·cesium