vscode中node -v报错并非node未安装,而是其启动时未继承更新后的环境变量;必须彻底关闭并重启vscode,再验证终端中node -v和npm -v是否均返回版本号。

node -v 报错或识别不到,说明 VSCode 没读到 Node.js 环境变量
不是 Node.js 没装好,而是 VSCode 启动早于环境变量更新——它继承的是启动时的系统环境快照。哪怕你刚装完 Node.js,只要没重启 VSCode,node -v 就大概率报 'node' is not recognized。
实操建议:
- 装完 Node.js 后,**必须关闭所有 VSCode 窗口再重新打开**,不能只关编辑器标签页
- 验证方式:在 VSCode 内置终端(
Ctrl+`)里直接运行node -v和npm -v,两个都返回版本号才算通过 - 如果仍失败,手动检查系统环境变量:
PATH是否包含 Node.js 安装目录(如C:Program Files odejs),Windows 用户可右键「此电脑」→「属性」→「高级系统设置」→「环境变量」确认
中文输出乱码,本质是终端编码和 Node.js 执行路径不匹配
VSCode 默认终端用的是 Windows 的 cmd.exe 或 powershell.exe,它们默认编码是 GBK,而 Node.js 脚本文件通常是 UTF-8 编码,两者一碰就乱。
实操建议:
- 优先启用
code-runner.runInTerminal:在settings.json中加这一行,让代码真正在终端里跑,而不是 Output 面板里假跑 - 强制终端用 UTF-8:在
settings.json里加"terminal.integrated.defaultProfile.windows": "Command Prompt"(或Powershell),再配合终端启动命令注入编码设置 - 更稳的写法是直接指定
node.exe全路径 + 编码前缀,比如:"javascript": "chcp 65001 && D:\nodejs\node.exe"(chcp 65001是 Windows 切 UTF-8 的命令)
code-runner 插件配置不对,code-runner.executorMap 必须精确到 .exe 文件
很多人复制网上示例时漏掉 .exe 后缀,或者路径含空格没加引号,导致 code-runner 执行失败但不报错,只显示空白或乱码。
实操建议:
-
"javascript": "D:\nodejs\node.exe"—— 路径用双反斜杠或正斜杠均可,但必须带.exe - 如果 Node.js 装在带空格路径下(如
C:Program Files odejs ode.exe),整个路径得用英文双引号包住:"javascript": "C:\Program Files\nodejs\node.exe" - 别把
code-runner.executorMap写在用户 settings.json 里却忘了删掉工作区 settings.json 里的同名项——冲突时后者优先,容易白配
终端字体不支持中文,再对的编码也白搭
即使 chcp 65001 生效、Node.js 路径正确、文件保存为 UTF-8,如果终端字体本身不包含中文字形(比如默认的 Consolas),照样显示方块或问号。
实操建议:
- 进 VSCode 设置搜
terminal integrated font,把terminal.integrated.fontFamily改成支持中文的字体,例如:"terminal.integrated.fontFamily": "monospace, 'Microsoft YaHei', 'SimSun'" - 字体列表里至少保留一个等宽中文字体,否则中文字符宽度会塌陷,排版错乱
- 改完字体后,终端需要新开一个 tab 才生效,旧 tab 不会自动刷新字体渲染











