部署成功的前提是系统终端和VSCode内置终端均能运行node -v与npm -v;若后者失败,需确保VSCode继承shell配置(如source ~/.zshrc后彻底重启),nvm需正确加载,launch.json中program须用${workspaceFolder}绝对路径,ESM项目需设"type":"module",ts-node或nodemon调试须按规范配置。

能跑 node -v 和 npm -v,且 VSCode 内置终端和调试器都认得 node,才算部署成功——其余插件、格式化、TypeScript 类型提示,都是后续优化项,不是环境成立的前提。
验证 node 和 npm 是否真被系统和 VSCode 同时识别
别跳过这步。很多人卡在“VSCode 里 node -v 报 command not found”,却去折腾 launch.json 或装插件,纯属白费功夫。
- 先在系统终端(比如 GNOME Terminal)执行
node -v和npm -v,有输出才说明 Node.js 安装本身没问题 - 再打开 VSCode,按
Ctrl + `呼出内置终端,同样执行这两条命令 - 如果系统终端能跑、VSCode 终端不能——根本原因是 VSCode 没继承 shell 配置(如
~/.zshrc或~/.bashrc),不是 PATH 没配,而是没加载 - 解决方法:彻底关闭所有 VSCode 窗口,然后在系统终端里执行
code --no-sandbox .启动(macOS/Linux 必须这样;Windows 可略过)
用 nvm 管理 Node 版本时,必须确保 nvm.sh 被正确加载
nvm 不是“装完就能用”,它依赖 shell 初始化文件显式 source。很多用户装完 nvm install --lts,node -v 在终端里正常,但 VSCode 里仍失效,就是因为这一步漏了。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 检查
~/.zshrc(或~/.bashrc)末尾是否包含这两行:export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" - 改完后,在系统终端运行
source ~/.zshrc,再确认which node输出路径是否指向~/.nvm/versions/node/... - VSCode 必须重启(不是重载窗口),否则旧进程不会读新配置
- 如果仍不行,临时方案:在项目根目录建
.vscode/settings.json,写入:{ "terminal.integrated.env.linux": { "PATH": "/home/yourname/.nvm/versions/node/v18.18.0/bin:${env:PATH}" } }(路径按which node实际输出填)
launch.json 中 program 字段必须指向真实 JS 文件,且路径要带变量前缀
断点灰色不可用、报 Cannot launch program,90% 是因为 program 写错了。VSCode 不会自动补全路径,也不会猜你指哪个文件。
- 推荐写法:
"program": "${workspaceFolder}/index.js"(绝对安全,跨平台) - 错误写法:
"program": "index.js"(缺${workspaceFolder}/,VSCode 当作字面量字符串处理) - 错误写法:
"program": "./index.js"(.在这里不解析为当前目录) - ESM 项目必须在
package.json里加"type": "module",否则import语句直接报错,断点可能命中但执行失败 - 用
ts-node调试 TypeScript?别改program,改用:"runtimeExecutable": "npx","runtimeArgs": ["ts-node", "${workspaceFolder}/src/index.ts"]
调试 nodemon 时不能直接设 program,必须用 attach 模式
想热重载+断点?别把 "program": "nodemon" 往 launch.json 里硬塞。VSCode 调试器不支持进程替换,强行配置会导致断点失效、调试中断或启动超时。
- 正确做法:先在终端手动启动带调试旗标的 nodemon:
nodemon --inspect-brk index.js - 然后在 launch.json 里配置:
"type": "node","request": "attach","port": 9229(默认端口,nodemon 启动后会打印) - 注意:
--inspect-brk会让进程停在第一行,方便你在 VSCode 里设好断点后再继续 - 如果换端口(比如
--inspect-brk=9230),launch.json 的port必须同步改
最常被忽略的其实是路径拼接逻辑和 shell 初始化加载顺序——${workspaceFolder} 不是魔法,它只在 VSCode 已正确继承环境变量的前提下才生效;而 source ~/.zshrc 之后不重启 VSCode,等于没做。

















