vscode里node命令失效或f5报错,主因是环境变量未继承、launch.json路径错误或code-runner不兼容现代js语法。需验证path、用${workspacefolder}写program、ts项目配sourcemaps,并避免code-runner处理esm和stdin。

VSCode 里跑不起来 node 命令,或写完代码按 F5 直接报错——不是插件没装对,而是环境变量没继承、launch.json 指向错了、或者 code-runner 默认配置根本不适配现代 JS 语法。问题不在 VSCode 本身,而在启动上下文和执行路径的错位。
VSCode 启动时找不到 node:PATH 没继承,不是插件锅
你在终端敲 node -v 能出版本号,但在 VSCode 集成终端或调试器里提示 command not found: node,说明 VSCode 启动时压根没加载 shell 的初始化文件(比如 ~/.zshrc)。它用的是“干净”的环境,不是你日常用的那个。
- macOS/Linux:检查
~/.zshrc或~/.bash_profile是否有export PATH="/usr/local/bin:$PATH"(Homebrew 安装 Node 的默认路径);没有就补上,然后运行source ~/.zshrc - Windows:重装 Node.js,务必勾选
Add to PATH;若已安装,手动把C:\Program Files\nodejs\加进系统环境变量的Path - VSCode 必须彻底关闭所有窗口(不只是关标签页),再从命令行启动:
code --no-sandbox(macOS)或双击图标(Windows),否则会复用旧 shell 环境
code-runner 执行 JS 报错或乱码:默认配置不兼容 ES Module 和中文路径
这个插件本质就是拼一条 node xxx.js 命令去跑,但没设编码、没传实验性参数、也没捕获 stderr,遇到 import 语法或含中文的文件路径就卡死或输出乱码。
使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。
- 打开 VSCode 设置,搜
code-runner.executorMap,找到javascript对应项,替换成:"node --experimental-specifier-resolution=node $fileName"(支持import) - Windows 下加
-r utf-8防乱码:"node -r utf-8 --experimental-specifier-resolution=node $fileName" - 别用它跑带
process.stdin的脚本(比如需要用户输入的 CLI 工具),code-runner不提供 stdin 输入流——换到集成终端手动执行,或改用调试模式
调试时断点不生效:“Cannot launch program” 是因为入口路径或 source map 没对齐
VSCode 的 Node.js 调试器(vscode-js-debug)只认编译后的 .js 文件,且依赖 sourceMaps 映射源码位置。直接调试 .ts 或 .mjs,或 launch.json 里 program 指向了未编译文件,就会报这个错。
-
launch.json中的program字段必须指向真实可执行的 JS 文件,比如./dist/index.js,不能是./src/index.ts或./index.mjs - 如果是 TypeScript 项目,
tsconfig.json里要设"sourceMap": true,且编译后确保.js.map文件和.js在同一目录 - 用
npm init -y && npm install -D typescript @types/node初始化 TS 项目后,别忘了运行npx tsc生成 JS 文件再调试
Hugo/Hexo 原型开发中 Node.js 配置只需最小闭环,别卷依赖管理
快速搭博客原型时,你根本不需要全局装 hexo-cli 或折腾 hugo 的 Node 版本兼容性。Hugo 是静态二进制,Hexo 只需本地 node_modules,VSCode 只要能调起 hugo server 或 npx hexo server 就够了。
- 下载 Hugo 二进制文件后,把它所在目录加进系统
PATH(同上一步),VSCode 终端就能直接运行hugo server - Hexo 项目里不用全局
hexo-cli,在项目根目录执行npx hexo server即可——npx会自动找本地node_modules/.bin/hexo - VSCode 里开两个终端:一个跑
hugo server -D(开启草稿),一个用Markdown All in One写作,保存即刷新,不用配任何额外插件
真正卡住人的从来不是工具链多复杂,而是某处 PATH 没生效、某个 $fileName 没替换、或者以为 launch.json 里的 program 可以写相对路径却漏了 ./。这些细节不验证,光装插件没用。










