Node包管理器命令速查手册

node.js

🚀 项目初始化

1
2
3
4
5
6
7
8
# npm | 初始化项目
npm init [-y]

# pnpm | 初始化项目
pnpm init [-y]

# yarn | 初始化项目(v2+需要手动创建)
yarn init [-y]

🛠️ 安装依赖

安装生产依赖

1
2
3
4
5
6
7
8
# npm | 安装并写入 dependencies
npm install <package>

# pnpm | 安装并写入 dependencies
pnpm add <package>

# yarn | 安装并写入 dependencies
yarn add <package>

安装开发依赖

1
2
3
4
5
6
7
8
# npm | 安装并写入 devDependencies
npm install <package> -D

# pnpm | 安装并写入 devDependencies
pnpm add <package> -D

# yarn | 安装并写入 devDependencies
yarn add <package> -D

全局安装

1
2
3
4
5
6
7
8
# npm | 全局安装
npm install <package> -g

# pnpm | 全局安装
pnpm add <package> -g

# yarn | 全局安装
yarn global add <package>

安装全部依赖

1
2
3
4
5
6
7
8
# npm | 根据 package.json 安装
npm install

# pnpm | 根据 package.json 安装
pnpm install

# yarn | 根据 package.json 安装
yarn install

🔄 依赖管理

更新依赖

1
2
3
4
5
6
7
8
# npm | 更新指定包
npm update <package>

# pnpm | 更新指定包
pnpm update <package>

# yarn | 更新指定包
yarn up <package>

删除依赖

1
2
3
4
5
6
7
8
# npm | 移除指定包
npm uninstall <package>

# pnpm | 移除指定包
pnpm remove <package>

# yarn | 移除指定包
yarn remove <package>

查看过时依赖

1
2
3
4
5
6
7
8
# npm | 检查过时包
npm outdated

# pnpm | 检查过时包
pnpm outdated

# yarn | 检查过时包
yarn outdated

🏃 运行脚本

执行自定义脚本

1
2
3
4
5
6
7
8
# npm | 运行脚本
npm run <script>

# pnpm | 运行脚本
pnpm run <script>

# yarn | 运行脚本
yarn run <script>

执行测试

1
2
3
4
5
6
7
8
# npm | 运行 test 脚本
npm test

# pnpm | 运行 test 脚本
pnpm test

# yarn | 运行 test 脚本
yarn test

📦 依赖锁定

生成锁定文件

1
2
3
4
5
6
7
8
# npm | 生成 package-lock.json
npm install --package-lock

# pnpm | 生成 pnpm-lock.yaml(自动生成)
pnpm install

# yarn | 生成 yarn.lock(自动生成)
yarn install

🌍 全局管理

列出全局包

1
2
3
4
5
6
7
8
# npm | 查看全局安装的包
npm list -g --depth=0

# pnpm | 查看全局安装的包
pnpm list -g

# yarn | 查看全局安装的包
yarn global list

🚨 安全审计

漏洞检查

1
2
3
4
5
6
7
8
# npm | 安全审计
npm audit

# pnpm | 安全审计
pnpm audit

# yarn | 安全审计(需要插件)
yarn audit

🧹 缓存清理

清理缓存

1
2
3
4
5
6
7
8
# npm | 清理缓存
npm cache clean --force

# pnpm | 清理缓存
pnpm store prune

# yarn | 清理缓存
yarn cache clean

📚 其他实用命令

查看包信息

1
2
3
4
5
6
7
8
# npm | 查看包信息
npm info <package>

# pnpm | 查看包信息
pnpm info <package>

# yarn | 查看包信息
yarn info <package>

执行npx等效操作

1
2
3
4
5
6
7
8
# npm | 执行临时包命令
npx <command>

# pnpm | 执行临时包命令
pnpm dlx <command>

# yarn | 执行临时包命令
yarn dlx <command>

版本快捷操作

1
2
3
4
5
6
7
8
# npm | 版本自增
npm version [major|minor|patch]

# pnpm | 版本自增
pnpm version [major|minor|patch]

# yarn | 版本自增
yarn version [major|minor|patch]

🌟 工作区管理 (Monorepo)

初始化/管理工作区

1
2
3
4
5
6
7
8
# npm | 创建工作区
npm init -w ./packages/<name>

# pnpm | 配置工作区(需创建 pnpm-workspace.yaml)
pnpm add -w <package> # 全局安装到根目录

# yarn | 管理工作区(需配置 workspaces)
yarn workspace <workspace_name> add <package>

🌳 依赖树分析

查看项目依赖结构

1
2
3
4
5
6
7
8
# npm | 列出嵌套依赖树
npm ls [--depth=N]

# pnpm | 扁平化依赖展示
pnpm list --depth=N

# yarn | 可视化依赖树
yarn list --pattern <package>

🧼 深度清理

清除并重置依赖

1
2
3
4
5
6
7
8
# npm | 删除 node_modules 并重新安装
rm -rf node_modules && npm install

# pnpm | 强制重新构建依赖
pnpm install --force

# yarn | 清除缓存并重装
yarn cache clean && yarn install

🔍 精确检查

验证依赖完整性

1
2
3
4
5
6
7
8
# npm | 校验依赖与 lock 文件一致性
npm ci # 严格模式安装

# pnpm | 校验存储完整性
pnpm store status

# yarn | 验证依赖结构
yarn check --integrity

🔧 配置管理

修改镜像源

1
2
3
4
5
6
7
8
# npm | 切换淘宝镜像
npm config set registry https://registry.npmmirror.com

# pnpm | 切换镜像源
pnpm config set registry https://registry.npmmirror.com

# yarn | 切换镜像源
yarn config set registry https://registry.npmmirror.com

查看配置

1
2
3
4
5
6
7
8
# npm | 列出所有配置
npm config list

# pnpm | 显示当前配置
pnpm config list

# yarn | 输出配置信息
yarn config list

⚡️ 高效操作

并行执行命令

1
2
3
4
5
6
7
8
# npm | 需安装第三方工具
npx npm-run-all --parallel task1 task2

# pnpm | 原生支持并行
pnpm -r run build # 递归执行所有子项目 build

# yarn | 使用 workspaces 指令
yarn workspaces foreach run build

交互式更新

1
2
3
4
5
6
7
8
# npm |  guided 更新
npm update --interactive

# pnpm | 可视化选择更新
pnpm update -i

# yarn | 需使用插件
yarn upgrade-interactive

📜 许可证检查

查看依赖许可

1
2
3
4
5
6
7
8
# npm | 生成许可证报告
npm ls --json | npx license-checker

# pnpm | 内置许可证检查
pnpm licenses list

# yarn | 使用插件支持
yarn plugin import workspace-tools && yarn licenses list

🏗️ 构建与发布

构建项目

1
2
3
4
5
6
7
8
9
10
11
12
# npm | 执行 build 脚本(通常配置在 package.json)
npm run build

# pnpm | 执行 build 脚本(支持递归构建工作区)
pnpm run build
# 或工作区批量构建
pnpm -r run build

# yarn | 执行 build 脚本(支持工作区构建)
yarn build
# 或工作区批量构建
yarn workspaces foreach run build

构建后本地预览

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# npm | 使用 serve 等工具预览
npx serve ./dist
# 或执行 preview 脚本(需提前配置)
npm run preview

# pnpm | 快速启动预览服务
pnpm dlx serve ./dist
# 或工作区预览(如 Vite 项目)
pnpm run preview

# yarn | 启动静态服务器
yarn dlx serve ./dist
# 或执行预览脚本
yarn preview

发布到 npm 仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# npm | 发布包(需先登录)
npm login # 首次使用需登录
npm publish # 发布公开包
npm publish --access public # 发布作用域公开包

# pnpm | 发布包(需配置 registry)
pnpm publish
# 工作区指定包发布
pnpm -r publish --filter <package_name>

# yarn | 发布包(需配置 publishConfig)
yarn login # 登录认证
yarn publish # 交互式发布
yarn publish --non-interactive # 静默发布

🧪 构建高级操作

带环境变量的构建

1
2
3
4
5
6
7
8
9
10
11
# npm | 注入环境变量
NODE_ENV=production npm run build

# pnpm | 跨平台环境变量设置
pnpm run build --mode production
# 或使用 dotenv 注入
pnpm add -D dotenv && pnpm run build

# yarn | 使用 env-cmd 工具
yarn add -D env-cmd
yarn env-cmd -f .env.prod yarn build

构建缓存清理

1
2
3
4
5
6
7
8
# npm | 清理构建产物
rm -rf ./dist && npm run build

# pnpm | 强制全新构建
pnpm exec rimraf ./dist && pnpm run build

# yarn | 清除构建缓存
yarn clean && yarn build

🚢 自动化发布流程

版本号+构建+发布一键操作

1
2
3
4
5
6
7
8
# npm | 组合命令
npm version patch && npm run build && npm publish

# pnpm | 管道式操作
pnpm version patch && pnpm build && pnpm publish

# yarn | 工作流命令
yarn version --patch && yarn build && yarn publish

发布候选版本

1
2
3
4
5
6
7
8
# npm | 带 tag 发布
npm publish --tag beta

# pnpm | 指定发布通道
pnpm publish --tag next

# yarn | 标记预发布版本
yarn publish --tag canary

🏷️ 扩展技巧:使用 npm pack / pnpm pack / yarn pack 可生成.tgz发布包文件用于离线验证,再通过 npm publish <file.tgz> 发布

💡 提示:不同包管理器在安装速度和磁盘空间占用上有差异:

  • **pnpm**:使用硬链接机制更节省空间
  • **yarn**:擅长依赖解析优化
  • **npm**:则是 Node.js 官方内置工具