vscode终端报“command not found”根本原因是未加载shell配置(如~/.zshrc),导致path缺失;须先用which node确认node路径,将其加入shell配置,彻底退出vscode后通过终端执行code .启动,再验证node -v是否生效。

VSCode终端里node -v报command not found怎么办
根本不是VSCode设置问题,是它启动时没加载你的~/.zshrc(或~/.bash_profile)里的PATH。Dock或Spotlight点开的VSCode进程不读shell配置文件。
- 先在系统终端里执行
which node,确认Node路径存在(通常是/usr/local/bin/node或~/.nvm/versions/node/v18.18.2/bin/node) - 把Node路径加进
~/.zshrc:比如export PATH="/usr/local/bin:$PATH"(用nvm就写export NVM_DIR="$HOME/.nvm"+[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh") -
必须彻底退出所有VSCode窗口,再从终端执行
code --no-sandbox .打开项目——这是唯一可靠方式 - 打开VSCode内置终端(
Ctrl + `),立刻跑node -v验证;没输出就别往下调launch.json
launch.json里program字段总出错
VSCode调试器不会自动猜你项目入口在哪,"program": "${file}"只适合单文件快速测试,实际项目必须显式指向真实JS文件。
Python Mac版 为 Python.org 官方提供的 Python 3.14.6 macOS 11 及以上安装包,适合在macOS环境中安装、运行 Python 代码并学习函数、模块和脚本开发。
- 如果入口是
src/index.js,就写"program": "${workspaceFolder}/src/index.js" - ESM项目(
package.json里有"type": "module")不能用nodemon直接跑index.js,得加--loader ts-node/esm或改用node --experimental-specifier-resolution=node - 别手填
runtimeExecutable,除非你明确要用nvm切版本——这时填"runtimeExecutable": "~/.nvm/versions/node/v18.18.2/bin/node",路径必须绝对且可执行 - 调试前务必保存文件(
Cmd+S),VSCode默认不自动保存未修改的文件
npm install卡住或全局工具找不到
国内直连npm registry大概率超时,且npm默认全局路径在系统盘,容易占满空间。
- 换镜像:
npm config set registry https://registry.npmmirror.com - 改全局路径(比如放
/Users/yourname/npm-global):npm config set prefix "/Users/yourname/npm-global" - 把新路径加进
~/.zshrc:export PATH="/Users/yourname/npm-global/bin:$PATH" -
重装全局工具:
npm install -g nodemon,否则旧路径下的二进制还在,VSCode终端仍会报command not found - 验证:
npm config get prefix和npm config get registry必须输出你刚设的值
断点不命中、调试器提示Cannot find runtime 'node'
终端能跑node ≠ 调试器能找到node,两者环境变量来源不同。调试器优先查launch.json里的runtimeExecutable,其次才查系统PATH。
- 删掉
launch.json里手动写的runtimeExecutable字段,让调试器走默认查找逻辑 - 如果用了nvm/fnm/volta,调试器无法感知shell里的
nvm use,必须显式指定路径 - 断点不生效常见于用
ts-node或打包工具启动的TS文件——此时应配"runtimeArgs": ["--loader", "ts-node/esm"],而非改program指向.ts源码 - VSCode重启后,首次调试前务必确认
node -v在内置终端里已生效,这是所有后续操作的前提










