
前言
这是一篇关于 nvm操作nodejs相关内容的一些命令记录
一、nvm 是干什么的(一句话版)
nvm 用来在一台 Mac 上同时管理多个 Node.js 版本,并且随时切换
常见场景:
• 老项目只能用 Node 14
• 新项目要 Node 18 / 20/ 22/ 24
• 不想污染系统环境
二、最常用的 nvm 命令(90% 情况用这些就够)
1️⃣ 查看 nvm 是否已正确加载
nvm --version
有版本号说明没问题。
⸻
2️⃣ 查看当前正在使用的 Node 版本 ⭐
node -v
或者更 nvm 风格一点:
nvm current
⸻
3️⃣ 查看本机已安装的 Node 版本
nvm ls
示例解释:
-> v18.19.0 # 当前使用
v16.20.2
default -> v18.19.0
⸻
4️⃣ 查看可以安装的 Node 版本(常用)
nvm ls-remote
如果太多,看 LTS 就行:
nvm ls-remote --lts
LTS = 长期支持版本(生产环境首选)
⸻
5️⃣ 安装一个 Node 版本 ⭐⭐⭐
nvm install 18
或指定完整版本:
nvm install 18.19.0
安装最新 LTS:
nvm install --lts
⸻
6️⃣ 切换 Node 版本(当前 shell 生效)⭐⭐⭐
nvm use 18
切完立刻生效:
node -v
⚠️ 注意:
• 只对当前终端窗口生效
• 新开终端需要重新 use(除非设置 default)
⸻
7️⃣ 设置默认 Node 版本(强烈推荐)
nvm alias default 18
以后新开终端自动就是这个版本。
⸻
8️⃣ 临时用一下某个版本(不改变 default)
nvm use 16
⸻
9️⃣ 删除某个 Node 版本
nvm uninstall 16
三、进阶但很实用的命令
🔹 查看某个版本安装了哪些全局 npm 包
nvm use 18
npm list -g --depth=0
⸻
🔹 把旧版本的全局包复制到新版本(超实用)
nvm install 18 --reinstall-packages-from=16
⸻
🔹 使用 .nvmrc(前端项目强烈推荐)
在项目根目录建文件:
.nvmrc
内容:
18
然后在项目目录里:
nvm use
👉 自动切换到该项目指定的 Node 版本
四、几个 Mac 上 nvm 的"坑位提醒"(很重要)
⚠️ 1️⃣ 不要用 brew 装 node(和 nvm 冲突)
如果你看到:
which node
不是:
~/.nvm/versions/node/...
而是:
/usr/local/bin/node
或
/opt/homebrew/bin/node
那说明 brew 的 node 在抢优先级,建议卸载:
brew uninstall node
⸻
⚠️ 2️⃣ nvm 必须在 shell 启动时加载
你 .zshrc 里已经有(你之前贴过):
export NVM_DIR="HOME/.nvm"[−s"HOME/.nvm" [ -s "HOME/.nvm"[−s"NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
这是 正确写法 👍
⸻
⚠️ 3️⃣ npm 全局包 ≠ 所有 Node 版本共享
每个 Node 版本:
都是一个"独立环境"
所以:
• 装了 pnpm、yarn
• 切版本后可能"消失"
👉 这是正常行为
五、给你一份「中文速查表」(收藏级)
查看当前 node
nvm current
查看已安装
nvm ls
查看可安装(LTS)
nvm ls-remote --lts
安装
nvm install 18
切换
nvm use 18
设为默认
nvm alias default 18
删除
nvm uninstall 16
项目自动切换
nvm use
六、👉 推荐策略:
• 默认 Node:LTS(22 或 24)
• 老项目:.nvmrc 固定版本
• 不混用 brew node
⸻