npm / pnpm / Yarn 对比速查表

常见场景下一眼对比三种包管理器的等价命令,并附常见特殊命令。

常用命令对比(相同功能在一行方便对照)
场景 npm pnpm Yarn 说明
项目初始化 npm init pnpm init yarn init 初始化项目,生成 package.json
安装全部依赖 npm install pnpm install yarn install 根据 package.json / lockfile 安装所有依赖
安装依赖(默认) npm install <pkg> pnpm add <pkg> yarn add <pkg> 安装生产依赖,写入 dependencies
安装开发依赖 npm install -D <pkg> pnpm add -D <pkg> yarn add -D <pkg> 安装开发依赖,写入 devDependencies
全局安装 npm install -g <pkg> pnpm add -g <pkg> yarn global add <pkg> 全局安装命令行工具
卸载依赖 npm uninstall <pkg> pnpm remove <pkg> yarn remove <pkg> 从项目中移除依赖
运行脚本 npm run <script> pnpm <script> / pnpm run <script> yarn <script> 运行 package.json 中的 scripts
开发环境 npm run dev pnpm dev yarn dev 启动开发服务器(示例:script 名为 dev)
构建生产包 npm run build pnpm build yarn build 构建生产环境代码(示例:script 名为 build)
更新依赖 npm update pnpm update yarn upgrade 根据 package.json 更新依赖版本
查看本地依赖 npm ls pnpm list yarn list 列出当前项目安装的依赖
发布到 npm npm publish pnpm publish yarn publish 发布当前包到 npm registry
特殊命令 / 进阶用法
类型 npm pnpm Yarn 说明
缓存 / 存储 npm cache clean --force pnpm store prune yarn cache clean 清理缓存 / store
一次性执行包 npx <pkg> pnpm dlx <pkg> yarn dlx <pkg>(Yarn 2+) 不安装到项目,临时执行包
锁文件 package-lock.json pnpm-lock.yaml yarn.lock 对应的 lockfile 文件名
工作区 / Monorepo npm workspaces pnpm workspaces yarn workspaces 多包管理 / workspace 支持