nvm常用命令(nodejs)

前言

这是一篇关于 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

相关推荐
山峰哥5 小时前
SQL调优核心战法——索引失效场景与Explain深度解析
大数据·汇编·数据库·sql·编辑器·深度优先
10000hours5 小时前
【Vim】vim常用命令:查找&编辑&可视区块
linux·编辑器·vim
Funny_AI_LAB8 小时前
Zcode:智谱AI推出的轻量级 AI IDE 编程利器
人工智能·python·算法·编辑器
小鸡脚来咯10 小时前
怎么配置主机名映射?
linux·windows·macos
牛奔12 小时前
macOS 使用 conda,同时本地安装了python,遇到 ModuleNotFoundError: No module named ‘xxx‘` 解决
开发语言·python·macos·conda
chinxue200813 小时前
VSCODE使用vivado
ide·vscode·fpga开发·编辑器
川川菜鸟13 小时前
Codex+ 中转 API 部署教程(Mac版)
macos
thulium_14 小时前
vscode 使用
ide·vscode·编辑器
rockage14 小时前
【技巧】MacOS下使用LaunchDaemons实现开机自启动
macos