一、nvm - Node 版本管理器
作用:在同一台机器上管理多个 Node.js 版本,随时切换。
安装: 官网下载安装
常用命令
| 命令 | 说明 |
|---|---|
nvm install |
安装指定版本,如 nvm install 20 |
nvm install lts |
安装最新 LTS 版本 |
nvm use |
切换到指定版本 |
nvm alias default |
设置默认版本 |
nvm ls |
列出已安装的版本 |
nvm ls-remote |
列出远程所有可用版本 |
nvm uninstall |
卸载指定版本 |
nvm current |
显示当前使用的版本 |
实用技巧
# 项目自动切换版本
# 在项目根目录创建 .nvmrc 文件,写入版本号
echo "20.11.0" > .nvmrc
# 进入目录后自动切换
nvm use
二、nrm - npm 源管理器
作用:快速切换 npm 镜像源,解决国内下载慢的问题。
安装
npm install -g nrm
# 或者使用pnpm
pnpm install -g nrm
常用命令
| 命令 | 说明 |
|---|---|
nrm ls |
列出可用源 |
nrm use |
切换到指定源 |
nrm test |
测试所有源的响应速度 |
nrm add |
添加自定义源 |
nrm del |
删除源 |
常用镜像源
| 名称 | 地址 | 特点 |
|---|---|---|
| npm | https://registry.npmjs.org | 官方源,国外慢 |
| yarn | https://registry.yarnpkg.com | Yarn 官方 |
| tencent | https://mirrors.cloud.tencent.com/npm/ | 腾讯镜像 |
| taobao | https://registry.npmmirror.com | 淘宝镜像(推荐) |
| cnpm | https://r.cnpmjs.org/ | CNPM |
使用示例
nrm use taobao # 切换到淘宝镜像
nrm test # 测速,选择最快的

三、npm / pnpm / yarn 对比
核心区别一览
| 特性 | npm | yarn | pnpm |
|---|---|---|---|
| 安装速度 | 较慢 | 快 | 最快 |
| 磁盘占用 | 大(每个项目独立) | 大 | 小(全局内容寻址存储) |
| node_modules 结构 | 嵌套/扁平 | 扁平 | 严格依赖树 |
| 锁文件 | package-lock.json | yarn.lock | pnpm-lock.yaml |
| 离线模式 | 支持 | 原生支持 | 支持 |
| workspace 支持 | v7+ 支持 | 原生支持 | 原生支持,更优 |
| 幽灵依赖 | 有 | 有 | 无(严格) |
| 执行脚本 | npm run |
yarn |
pnpm |
命令对比
五、配置示例
1. 配置 npm 使用 pnpm 的存储策略(可选)
# 查看 npm 配置
npm config list
# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com
# 设置缓存目录
npm config set cache "/path/to/npm-cache"
2. 项目初始化选择
# 新项目推荐 pnpm
pnpm init
# 或使用官方推荐
npm init
3. .npmrc 配置示例
# 项目根目录 .npmrc
registry=https://registry.npmmirror.com
shamefully-hoist=true # pnpm 兼容某些特殊包
strict-peer-dependencies=false