vscode里node命令找不到,本质是终端未继承系统path:windows需检查powershell与cmd环境变量不共享,确认$env:path含node路径并用terminal.integrated.env.windows追加;macos/linux需启用login shell或配置shellargs为["-l"];nvm用户须确保初始化代码在~/.zshrc且vscode使用对应shell。

VSCode 里 node 命令找不到?先确认它真在系统里
不是 VSCode 没配好,而是它根本没继承到 node 命令——90% 的“无法运行”问题卡在这一步。
别信 node -v 在 CMD 里能跑就万事大吉。VSCode 内置终端启动时可能没加载 shell 配置,导致 PATH 不一致。
- 关掉所有 VSCode 窗口(macOS 右键 Dock →「退出」,Windows 任务管理器里确认
Code.exe已结束) - 新开一个系统终端(不是 VSCode 里的),执行
which node(macOS/Linux)或where node(Windows),确认路径合理(比如/usr/local/bin/node或C:\Program Files\nodejs\node.exe) - 再打开 VSCode,按
Ctrl + `,立刻敲node -v—— 这次的结果才代表 VSCode 能用 - 如果失败:Windows 用户重装 Node.js 时务必勾选 “Add to PATH”;macOS 用户检查
~/.zshrc是否含export PATH=...,并在 VSCode 设置里把terminal.integrated.shellArgs.osx设为["-i"]
npm install -g 报 EACCES 或 Permission denied?别用 sudo
错误信息里带 EACCES 和 /usr/local/lib/node_modules,说明 npm 正试图往系统目录写东西,而你没权限——这不是 VSCode 的锅,是 npm 默认路径太激进。
sudo npm install -g 看似解燃眉之急,实则埋雷:后续 npm update、yarn 或任意全局包的 preinstall 脚本都将以 root 权限执行,可能删库、改系统配置。
- 运行
npm config set prefix ~/.local,把全局模块挪到用户目录 - 编辑
~/.zshrc(macOS Catalina+ 默认 shell 是 zsh),追加:export PATH=~/.local/bin:$PATH - 执行
source ~/.zshrc,再试npm install -g serve - 验证:
npm config get prefix应输出/Users/xxx/.local,which serve应指向~/.local/bin/serve
PowerShell 执行策略拦住 npm start?改 CurrentUser 就行
VSCode 终端报 Execution Policy 错误、cannot be loaded because running scripts is disabled,不是权限不够,是 Windows PowerShell 默认禁止执行任何脚本(包括 npm 封装的 shell 脚本)。
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
这和文件系统权限无关,只影响终端命令链。用管理员身份启动 VSCode 或 chmod +x 都无效。
- 在 VSCode 终端里运行
get-ExecutionPolicy,若返回Restricted,就是它了 - 执行
set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 再运行
get-ExecutionPolicy -Scope CurrentUser,确认输出为RemoteSigned - 关掉当前终端 tab,新开一个——重启 VSCode 窗口不必要,但必须重启终端会话
launch.json 调试失败?program 别指 shell 脚本
按 F5 启动调试,断点灰掉、控制台没输出、提示 “Cannot launch program”,大概率是 launch.json 的 program 字段指向了 start.sh 或 npm run dev 这类 shell 命令。
VSCode 的 Node.js 调试器(js-debug)只认 JS/TS 文件,不走 shell 执行位校验。PowerShell 策略会直接拦截整个启动流程。
-
program必须是绝对或工作区相对路径的 JS 文件,例如:"${workspaceFolder}/src/server.js" - 不要写成:
"${workspaceFolder}/start.sh"或"npm run dev" - 如果非要用脚本启动,确保它被
npm run包裹(如"scripts": { "dev": "node src/server.js" }),然后在launch.json中用runtimeExecutable指向npm,args设为["run", "dev"] - 调试前务必保存文件(
Ctrl+S),js-debug 不会自动保存未保存的.js文件
真正容易被忽略的是环境变量继承链:VSCode 终端是否读取了你的 shell 配置、npm 配置是否在该上下文生效、PowerShell 策略是否仅作用于当前用户而非所有作用域——这些细节不显眼,但任何一个断掉,node 就只是个名字。










