node.js必须在linux虚拟机独立安装且vscode终端能执行node -v和npm -v才算有效配置;常见问题包括apt安装的nodejs需软链接为node、nvm未配置shell初始化文件、vscode桌面启动不加载环境变量、launch.json中program应设为"${file}"或真实路径、npm全局路径须避开共享目录并配国内镜像。

Node.js 必须在 Linux 虚拟机里独立安装,VSCode 本身不带运行时;装完 node -v 和 npm -v 在任意终端(包括 VSCode 内置终端)都能执行成功,才是有效配置的起点。
node -v 报 command not found 的真实原因
这不是 VSCode 的问题,而是 Linux shell 环境变量没生效。常见情况有:
- 用
sudo apt install nodejs安装的版本通常叫nodejs,不是node—— 需手动创建软链接:sudo ln -s /usr/bin/nodejs /usr/bin/node - 用
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -安装后,which node输出为空 —— 检查/etc/apt/sources.list.d/nodesource.list是否存在且内容正确,再执行sudo apt update && sudo apt install -y nodejs - 用
nvm安装但未在~/.zshrc(或~/.bashrc)末尾添加:export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"—— 缺这行,新开终端就找不到node - VSCode 是从桌面图标启动的,没加载 shell 配置 —— 改用终端执行
code .启动,才能继承当前 shell 的 PATH
launch.json 中 program 字段别写死成 app.js
VSCode 自动生成的调试配置常设 "program": "${workspaceFolder}/app.js",但你实际要调试的是 server.js 或 index.js,F5 就失败。更通用的做法是:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 直接改成
"program": "${file}"—— 调试当前打开的 JS 文件,无需切换入口 - 如果项目有固定入口(如
src/main.js),用"program": "${workspaceFolder}/src/main.js",但注意路径必须存在且可读 - 务必确认文件已保存 —— VSCode 调试器不会自动保存,
Ctrl+S必须手动按 - 若用 ES Module(
"type": "module"在package.json中),确保 Node 版本 ≥14.18,否则import会报错
npm 全局模块装到虚拟机共享目录会出问题
Linux 虚拟机常挂载 Windows 共享文件夹(如 /mnt/hgfs/Projects),但 npm 全局安装不能放在这里:
-
npm install -g nodemon若全局路径设为共享目录,会因权限或文件系统限制失败(常见错误:EPERM: operation not permitted) - 正确做法:改全局路径到用户主目录下,例如:
npm config set prefix "$HOME/.local",再把$HOME/.local/bin加进PATH(写入~/.zshrc) - 验证:
npm config get prefix应输出/home/username/.local,echo $PATH应含该路径 - 国内源必须配:
npm config set registry https://registry.npmmirror.com,否则npm install极慢甚至超时
最容易被忽略的是:VSCode 终端是否真正继承了你 shell 里生效的 PATH 和 npm 配置。哪怕 which node 在系统终端返回正确路径,在 VSCode 里仍可能失效 —— 这时不要反复重装,先关掉所有 VSCode 窗口,用终端执行 code . 重新打开项目。










