VSCode中node -v报command not found,根本原因是环境变量未正确继承:macOS/Linux需重启VSCode或用code .启动,Windows需手动添加Node.js路径到系统PATH;验证标准是在内置终端执行node -v有输出。

VSCode里node -v报command not found,根本不是插件问题
VSCode本身不带Node.js,它只负责调用系统已安装的node命令。报这个错,99%是环境变量没继承——不是你装错了,而是VSCode启动时没读到shell的PATH。
- macOS/Linux:从Dock或Spotlight点开VSCode,
~/.zshrc或~/.bash_profile里的export PATH根本没生效;改完配置后只source ~/.zshrc不够,必须彻底关掉VSCode再重启,或者直接在终端执行code .打开项目 - Windows:安装Node.js时没勾选“Add to PATH”,系统环境变量里压根没有
C:\Program Files\nodejs\;得手动进“系统属性 → 高级 → 环境变量”,把这路径加到“系统变量”的PATH里,再重启VSCode - 验证唯一标准:在VSCode内置终端(
Ctrl + `)里敲node -v,有输出才算过关;没输出就别配launch.json,纯属浪费时间
用code-runner跑JS脚本乱码、卡死、不支持import
code-runner默认命令是node $fileName,它不处理编码、模块类型、输入流,属于“能跑就跑,不管对不对”。中文路径、ESM、process.stdin全踩雷。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
- Windows中文路径乱码:在VSCode设置里搜
code-runner.executorMap,把javascript对应值改成:node -r utf-8 $fileName - ESM报
Cannot use import statement outside a module:先确保项目根目录有package.json且含"type": "module",再把executor改成:node --experimental-specifier-resolution=node $fileName - 遇到
process.stdin就假死:这是code-runner硬伤,它不支持交互式输入;换成VSCode内置终端手动运行,或者直接按F5走调试模式
launch.json里断点不命中,别瞎填runtimeExecutable
绝大多数本地JS脚本调试,只需要配program字段就够了。runtimeExecutable是给nvm切版本或自定义执行器用的,普通用户填了反而容易出错。
- 单文件调试(如当前打开的
index.js):用VSCode自动生成的Node.js预设模板,只改"program": "${file}"即可 - 项目入口固定(如
src/index.js):显式写成"program": "${workspaceFolder}/src/index.js",别依赖${file} - TypeScript或打包项目(Vite/Webpack):
program必须指向编译后的.js文件(如dist/index.js),不能是.ts或.jsx源码 - ESM项目必须在
package.json里声明"type": "module",否则调试器按CommonJS解析,import直接报错,路径也错乱
调试控制台中文变问号、日志不显示
这不是文件编码问题,是VSCode Debug Console对stdout编码协商不一致导致的。尤其Windows下Git Bash/WSL终端+Debug Console组合更容易丢中文。
- 加
"console": "integratedTerminal"到launch.json里,让日志强制输出到VSCode底部集成终端(它对UTF-8支持更稳) - 如果还干扰输出,可在
launch.json中加"env": { "NODE_OPTIONS": "--no-warnings" },避免warning刷屏掩盖真实日志 - 注意:Live Server起的网页JS调试走的是Chrome DevTools,跟Node调试器无关;网页JS要调试,得选“Chrome”或“Edge”环境,不是“Node.js”
node -v在VSCode终端里有没有输出——这一步没过,后面所有操作都在空中造楼。

















