Node.js安装路径含中文必须重装到纯英文路径,因Windows加载器会截断路径导致调试崩溃;须关闭系统UTF-8 Beta选项并重启,且launch.json中runtimeExecutable需显式指定或留空。
VSCode 调试或运行 Node.js 时,如果 node.exe 自身路径里有中文(比如 D:开发odejsode.exe),调试器根本无法加载 bootloader,报错类似:Error: Cannot find module 'd:///Microsoft VS Code/resources/app/extensions/ms-vscode.js-debug/src/bootloader.bundle.js'。这不是配置能绕过的——Node 进程启动前就被 Windows 加载器截断了。
必须重装 Node.js 到纯英文路径,例如:C:oolsodejs 或 D:devodejs。安装后在终端执行 where node 确认路径无中文、无空格、无括号。
%PROGRAMFILES%odejs、%LOCALAPPDATA%odejs
node -v 和 npm -v 验证即使 Node.js 和 VSCode 路径都干净,只要系统开启了「Beta 版:使用 Unicode UTF-8 提供全球语言支持」,Node 子进程就会对 argv 中的路径做二次编码,导致 VSCode 收到乱码路径,表现为空白调试页、Unable to resolve non-existing file 或直接卡死。
必须关闭该选项并重启电脑:
chcp,输出应为 活动代码页:936,不是 65001
VSCode 默认靠 PATH 查找 node,但一旦环境变量混乱或存在多个版本,它可能误选到旧版或中文路径下的副本。调试失败时常见错误是 spawn node ENOENT 或静默退出。
在 .vscode/launch.json 的对应 configuration 中,明确处理 runtimeExecutable:
"runtimeExecutable": ""(让 VSCode 严格按当前终端的 PATH 查找)"runtimeExecutable": "C:toolsnodejsnode.exe"(注意双反斜杠或正斜杠)集成终端里执行 node index.js 报 Cannot find module 或闪退,大概率是当前工作目录含中文,且终端继承了错误的代码页。
不要依赖 CMD 自动识别 UTF-8 路径:
chcp 936(可加到终端 profile 启动命令)code . 从命令行启动 VSCode,而非双击图标——前者能继承当前 shell 的环境变量和编码C:estdemo 下运行,确认是否还出错——是则说明确实是路径问题,不是代码问题runtimeExecutable,这三步缺一不可。少一步,spawn node ENOENT 就还在那儿等着。