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 支持 |