VSCode报“Module not found”但终端正常,是TypeScript语言服务未正确识别node_modules路径,常见于非项目根目录打开、pnpm/yarn workspaces、tsconfig.json配置失效或TS Server状态异常,需验证Go to Type Definition跳转、Node版本一致性、重装依赖并重启TS Server。

终端 node -v 正常但 VSCode 报 Module not found
这不是依赖没装,而是 TypeScript 语言服务没读到正确的 node_modules。常见于打开路径不是项目根目录、用了 pnpm workspaces 或 yarn monorepo,导致 TS Server 加载了父级或全局的类型定义。
验证方式:右键报错的 import → “Go to Type Definition”,跳转失败即确认路径解析异常;同时检查 VSCode 左下角显示的 Node 版本是否和终端 node -v 一致。
- 确保在项目根目录启动 VSCode:
code .,而非某个子文件夹 - 检查
tsconfig.json是否存在且含有效配置(非空文件、非tsconfig.base.json) - 删除
node_modules/.pnpm(pnpm)或node_modules/.cache(yarn),再pnpm install或yarn install - 在
tsconfig.json中显式声明"types": ["node"],避免因缺失@types/node导致整个类型链断裂
launch.json 的 program 字段总加载失败
调试器根本找不到入口文件,自然无法解析 node_modules。常见错误是写成 "${workspaceFolder}/src/index.ts" 或默认的 "${workspaceFolder}/index.js",但实际文件不存在或未编译。
program 字段只控制调试主进程的执行起点,不参与模块解析逻辑——它错了,后续一切依赖加载都无效。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 用
"${file}"临时调试当前打开的 JS 文件(仅限纯 JS + CommonJS) - TS 或 ESM 项目必须指向编译后路径,如
"${workspaceFolder}/dist/index.js",不能写.ts源码 - 确认
outDir和sourceMap在tsconfig.json中已正确设置,否则断点打在未编译文件上,require()路径会错乱 - ESM 项目若混用
require()加载 CommonJS 包,可能触发类型不匹配,优先改用import,或加"type": "module"到package.json
插件开发时提示 Cannot find module 'xxx'
这是插件自身的 node_modules 缺失依赖,和你的业务项目无关。VSCode 插件运行在独立上下文,依赖必须在插件源码目录下安装。
别在项目根目录跑 npm install,也别指望 npm-check 能扫出这个问题——它默认只查当前工作目录,不理解插件的扩展主机加载路径。
- cd 到插件开发目录(含
package.json的那个文件夹),运行npm install - 执行
npm ls axios(替换为你要查的包名)确认依赖真实存在 - 打包前务必运行
vsce package,它不会自动装依赖,只打包已有node_modules - 调试时
launch.json的program必须指向插件真正的入口,通常是${workspaceFolder}/out/extension.js(编译后)或${workspaceFolder}/src/extension.js
Node 版本错位导致原生模块加载失败
VSCode 内置 Electron 的 Node 版本(如 v22.4.0 / napi_build_version=9)和你系统 node(如 v20.x / napi=8)不一致时,npm rebuild 生成的二进制无法加载,表现为断点灰掉、Cannot find module './build/Release/xxx.node'。
这不是路径问题,是 ABI 不兼容。重编译必须对齐 VSCode 的 Electron 和 NAPI 版本。
- 先清空插件目录下的
node_modules/.pnpm和out/,避免旧缓存干扰 - 执行完整重编译命令:
npm rebuild --napi-build-version=9 --runtime=electron --target=34.0.0 - macOS 用户若从 Dock 启动 VSCode,
~/.zshrc可能未加载,务必从终端执行code .启动 - nvm-windows 用户每次
nvm use后,需在 VSCode 中执行Terminal: Reload Shell Environment(Ctrl+Shift+P)
node 版本和 node_modules 路径可能完全不同。排查时永远先确认哪一层出问题,再针对性验证对应环境。

















