532 字
3 分钟
前端常用工具笔记(nvm、pnpm、nrm等)
一、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# 或者使用pnpmpnpm 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. 项目初始化选择
# 新项目推荐 pnpmpnpm init
# 或使用官方推荐npm init3. .npmrc 配置示例
# 项目根目录 .npmrcregistry=https://registry.npmmirror.comshamefully-hoist=true # pnpm 兼容某些特殊包strict-peer-dependencies=false 前端常用工具笔记(nvm、pnpm、nrm等)
https://blog.wentianlivas.top/posts/前端常用工具笔记/