Node.js和VSCode能运行不等于开发环境已配好,必须配置调试(launch.json)、全局路径(node_global/node_cache)及镜像源(如npmmirror),否则npm install超时、node命令报错、“不是内部或外部命令”、断点不生效等问题频发。

Node.js 和 VSCode 能跑起来,不等于开发环境就搭好了——缺了调试配置、全局路径或镜像源,项目一上手就卡在 npm install 超时、node 命令报“不是内部或外部命令”、断点不生效这些地方。
node -v 报错或找不到命令?检查 PATH 和安装选项
这不是 Node.js 没装好,而是系统没认出它。Windows 安装时必须勾选 Add to PATH(macOS/Linux 通常自动处理)。如果漏了,手动加也行,但容易配错路径。
- 打开命令行,执行
where node(Windows)或which node(macOS/Linux),看输出是否指向你安装的目录(如C:\Program Files\nodejs\node.exe) - 如果没输出,说明 PATH 没生效;去“系统属性 → 高级 → 环境变量”,在
Path里添加 Node.js 安装目录(不是子文件夹) - 别把
node_modules或npm目录加进去——只加C:\Program Files\nodejs\这一级 - 改完环境变量后,**必须重启 VSCode**(不是重开终端),否则内置终端仍读旧 PATH
npm install 卡住或超时?换镜像源 + 改缓存路径
默认用 https://registry.npmjs.org/,国内直连大概率失败。光换镜像不够,npm cache 默认存在用户目录,C 盘爆满也会导致安装中断。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
- 执行
npm config set registry https://registry.npmmirror.com/(淘宝镜像已迁至 npmmirror) - 新建两个文件夹:
node_cache和node_global(比如放在D:\nodejs\下) - 运行:
npm config set prefix "D:\nodejs\node_global"和npm config set cache "D:\nodejs\node_cache" - 验证:
npm config get prefix和npm config get cache应返回你刚设的路径 - 之后全局安装(如
npm install -g pnpm)会落到node_global,不再污染 C 盘
VSCode 里按 F5 调试没反应?launch.json 必须手动建
VSCode 不会自动创建调试配置。点绿色虫子图标 → “create a launch.json file” → 选 Node.js,这步跳过,调试就只是个摆设。
- 确保当前打开的是文件夹(不是单个 .js 文件),否则 VSCode 不识别为项目
- 第一次调试时,它会在
.vscode/launch.json里生成默认配置,关键字段是:"program": "${file}"(当前文件)或"program": "${workspaceFolder}/index.js"(固定入口) - 如果项目用
ts-node或nodemon,得改runtimeExecutable和args,不能直接套默认模板 - 断点打在
console.log前行号旁,但若代码被打包(如 webpack)、转译(如 TypeScript),断点可能失效——先确认你调试的是原始源码
插件装一堆却没用?只留这三个够用
VSCode 插件市场搜 “Node.js” 会推几十个,其实多数功能已被原生支持或冗余。装多了反而拖慢启动、干扰语法提示。
-
必装:
ESLint(代码质量)、Prettier(格式化),两者配合可在保存时自动修复 -
可选但实用:
Auto Rename Tag(改 HTML 标签名时同步闭合标签),前端写服务端模板时省事 -
不用装:“Node.js Extension Pack”、“Code Runner”——前者含重复功能,后者运行方式绕过 npm script,调试时无法加载
package.json中的环境变量 - 所有插件启用后,重启 VSCode 才生效;禁用不用的插件,能明显加快打开大项目的速度
最常被忽略的其实是 package.json 里的 "type": "module"——一旦加了,require() 就失效,而 VSCode 调试器默认用 CommonJS 模式启动,不改 launch.json 的 runtimeArgs 加 --experimental-specifier-resolution=node,断点直接不进文件。

















