vscode不配置node环境,只调用系统已装的node和yarn;配置失败主因是终端path未继承、ts server未识别workspace、pnp路径解析断链三者未对齐。

VSCode 本身不“配置 Node 环境”,它只调用你系统里已装好的 node 和 yarn;所谓“配置失败”,90% 是终端 PATH 没传进来、TS Server 没识别 workspace、或 PnP 模式下路径解析断链 —— 不是缺插件,是三处没对齐。
终端里 yarn --version 报 command not found
这不是 VSCode 设置问题,而是内置终端没继承 shell 的 PATH。系统终端能跑,VSCode 终端跑不了,说明环境变量没加载进来。
- 先在系统终端(非 VSCode)执行
which yarn,记下路径,比如/opt/homebrew/bin/yarn或/Users/xxx/.yarn/bin/yarn - macOS 用户别从 Dock 启动 VSCode,改用终端执行
code .;Windows 用户若用 Git Bash,需在设置里把terminal.integrated.defaultProfile.windows设为 Git Bash - 兜底方案:在 VSCode 设置中搜
terminal.integrated.env,手动补PATH,例如:"terminal.integrated.env.osx": {"PATH": "/opt/homebrew/bin:/usr/local/bin:${env:PATH}"}
启用 Yarn PnP 后 TypeScript 报 “无法找到模块”
这是 TS Server 没正确解析 .pnp.cjs 的模块链接结构,和终端、任务都无关,纯路径识别问题。
诊断并恢复通过 SSH 隧道连接的 OpenClaw 节点。用于解决配对必需错误、隧道冲突、远程端点错误以及 SSH 目标配置错误等问题。
- 必须用 VSCode 打开整个 workspace 根目录(即含
yarn.lock或.yarnrc.yml的文件夹),不能只开子包目录 - 看状态栏右下角:要是显示
TypeScript SDK: Project version,说明作用域错了,得改成Workspace version - 确认已运行
yarn set version stable生成.pnp.cjs,且.yarnrc.yml中有nodeLinker: pnp - 改完
tsconfig.json或切换包管理器后,务必手动执行Cmd/Ctrl+Shift+P→Restart TS server
Yarn PnP 免去 node_modules 体积过大,但 VSCode 内存仍高
PnP 确实删掉了 node_modules 目录,但 VSCode 默认仍会监听它 —— 如果项目根目录下还残留旧的 node_modules,或 files.watcherExclude 配置无效,inotify 句柄照常泄漏。
- 确保
.vscode/settings.json中有生效的监听排除项:"files.watcherExclude": { "**/node_modules/**": true, "**/dist/**": true, "**/.git/**": true } - 注意写法:
*node_modules*或/node_modules/无效;必须用双星号通配符,且需关闭并重新打开工作区才生效 - Linux 用户检查
cat /proc/sys/fs/inotify/max_user_watches,低于524288建议调高 - PnP 模式下,
search.exclude也得显式声明:"search.exclude": { "**/node_modules": true },否则rg.exe仍可能扫描残留路径
最易被忽略的是:PnP 不是“一开就省空间”,它要求 VSCode 的终端、任务、TS Server、文件监听四者全部适配同一套路径逻辑 —— 少一个环节,就会回退到传统 node_modules 行为,或报错但不提示原因。










