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

⸻

相关推荐
Dream-Y.ocean2 小时前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
todoitbo5 小时前
我在 Mac 上用 Docker 部署 Nexent:从拉取镜像到接入模型
macos·docker·大模型·ai智能体·nexent·快速入门与环境准备
独隅7 小时前
WebStorm macOS 安装部署与高效调优实战指南
ide·macos·webstorm
fthux1 天前
Tick Rest,一个休息提醒工具的自我修养
macos·开源·swift
NextTech_1 天前
不想学 vim,怎么改服务器上的配置文件?
服务器·编辑器·vim
yz_aiks1 天前
Postman 自动给 Claude Code、Codex、Cursor 装插件怎么查和卸载:本机实测 5 处痕迹(Postman 12.34)
安全·postman·ai编程·开发工具·claude code
FPGA小迷弟2 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
ITKEY_2 天前
emacs 文件管理Dired, the Directory Editor
linux·编辑器·emacs
Solange__3 天前
图片转3D导出GLB、FBX还是OBJ?按5类任务比较材质、动画与可编辑性
人工智能·3d·ai·自然语言处理·编辑器·blender·材质
ThatMonth3 天前
vscode 编辑器怎么打开多页签,而不是覆盖已有的页签
编辑器