终端里直接用 nvm install --lts 升级最稳,但需手动执行 nvm use --lts 才生效;VSCode 终端依赖 shell 配置加载 nvm,Windows 用户应使用 nvm-windows 而非 n 工具。

终端里直接用 nvm install --lts 升级最稳
VSCode 集成终端本身不提供升级 Node.js 的能力,它只是调用你系统里已安装的工具。真正起作用的是 nvm(macOS/Linux)或 nvm-windows(Windows)。如果你已经装好 nvm,在 VSCode 终端里执行一条命令就能完成升级,无需重启编辑器或改配置。
推荐优先使用 LTS 版本,稳定性高、兼容性好,适合绝大多数项目:
-
nvm install --lts—— 安装最新 LTS 版(如 v20.15.1) -
nvm use --lts—— 立即切换到该版本 -
node -v和npm -v验证是否生效
注意:nvm install --lts 不会自动 use,必须手动执行 nvm use --lts 才能让当前终端会话生效。VSCode 新开一个终端标签页也会继承这个设置,前提是你的 shell 初始化文件(如 ~/.zshrc)已正确加载 nvm。
Windows 用户别用 n —— 用 nvm-windows 而不是 npm install -g n
n 模块在 Windows 上基本不可靠:它依赖 Unix 风格的符号链接和权限控制,cmd/PowerShell 下常报 EPERM 或静默失败。很多用户卡在 n stable 后 node -v 没变化,其实是没真正替换二进制文件。
Windows 正确做法是:
- 下载并安装
nvm-windows(不是nvm),地址:https://github.com/coreybutler/nvm-windows/releases - 安装后重启 VSCode 终端(或整个 VSCode),确保
nvm命令可用 - 运行
nvm install latest或nvm install 20.15.1 - 再运行
nvm use 20.15.1(不能只写nvm use latest,Windows 不支持)
验证时如果仍显示旧版本,大概率是 VSCode 终端没读取到 nvm 的环境变量,检查 nvm root 输出路径是否已加入系统 PATH。
VSCode 终端 PATH 加载不全?检查默认 Shell 配置
即使 nvm 装好了,VSCode 终端有时仍用系统默认 Node(比如 /usr/bin/node),而不是 nvm 管理的版本。这是因为 VSCode 启动终端时可能没加载你的 shell 配置文件(~/.zshrc、~/.bash_profile 等)。
使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。
解决方法很简单:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入 “Terminal: Select Default Profile” - 选择你日常使用的 Shell(比如
zsh或Git Bash),不要选Command Prompt(Windows)或login shell(macOS 旧版) - 关掉所有终端,重新打开一个,再运行
which node,应该返回类似~/.nvm/versions/node/v20.15.1/bin/node
如果还是不行,临时补救:在 VSCode 终端里手动运行 source ~/.zshrc(macOS/Linux)或 nvm use 20.15.1(Windows),但这只是会话级修复,不是根治。
npx 为什么还报 command not found?Node 升级后 npm 可能没同步更新
升级 Node 后,npx 找不到,常见原因是 npm 版本太老,跟新 Node 不匹配。例如 Node v20.15.1 自带 npm v10.7.0,但如果你之前全局升级过 npm 到 v9.x,就可能出现冲突。
执行以下两步清理:
-
npm install -g npm@latest—— 强制重装最新 npm(会覆盖旧版) -
which npx确认路径是否指向当前 Node 的 bin 目录(如~/.nvm/versions/node/v20.15.1/bin/npx)
如果 which npx 返回空,说明 npm 安装失败或未写入 PATH,此时不要手动软链,而是删掉 ~/.nvm/versions/node/v20.15.1/lib/node_modules/npm 后重跑 nvm install --lts,让 nvm 重新完整安装整套环境。
真正容易被忽略的点是:VSCode 终端是否“真正属于你配置的 shell”。很多人以为装了 nvm 就万事大吉,结果 VSCode 默认开了个没加载 nvm.sh 的子 shell,node -v 看着对,npx 却用不了——本质是两个进程用了不同 PATH。

















