VSCode中require('./utils')报错是路径解析失败,需确认__dirname位置、文件存在性及大小写/扩展名,检查工作目录是否为项目根、node_modules完整性,并重启TS Server。

VSCode里require('./utils')报错找不到模块
这不是 npm 没装好,而是 Node.js 根本没在你期望的位置找文件。Node 的模块解析是严格按路径走的,不靠 IDE 猜。
- 先确认当前执行文件的
__dirname:在报错文件里加一行console.log(__dirname),看它输出的是哪个目录 - 再验证相对路径是否真能抵达目标:在终端里运行
node -e "console.log(require.resolve('./utils'))",如果报错就说明路径不对或文件不存在 - 检查大小写和扩展名:Linux/macOS 下
utils.js和Utils.js是两个文件;ESM 模式下import必须写./utils.js,不能省略.js - 别把 Vite/Webpack 能跑的代码直接拿去
node index.js:构建工具会重写 import,但原生 Node 不会
npm install 后 still Cannot find module
说明依赖没真正落到当前项目根目录的 node_modules 里,或者 VSCode 没用对工作区。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 关掉所有 VSCode 窗口,从终端进入项目根目录(
cd /path/to/your/project),再执行code .打开——这是最稳的环境继承方式 - 在 VSCode 终端里运行
pwd或ls package.json,确认当前路径就是项目根,不是子文件夹 - 执行
npm ls <code>模块名(比如npm ls express),如果返回空,说明没装进当前项目 - 删掉
node_modules和package-lock.json,再跑一次npm install;不要跳过 lock 文件重建
TS/JS 语言服务提示模块不存在但 node -r 能跑
这是 TypeScript Server 没加载到正确的 node_modules,和 Node 运行时无关。
- 重启 TS Server:按
Ctrl+Shift+P→ 输入Restart TS server→ 回车 - 检查
tsconfig.json中的"moduleResolution"是否为"node"(不是"classic") - 如果用了 pnpm/yarn workspaces,确保 VSCode 已启用对应插件(如
pnpmextension),否则符号链接不会被语言服务识别 - 不要在
src里直接require('../dist/utils'):TS 编译前路径无效,应统一用import+ 正确的baseUrl和paths
调试时 launch.json 报 Cannot find module
调试器启动的 Node 进程,可能根本没读取你项目里的 node_modules。
-
program字段必须指向编译后的 JS 文件(如"${workspaceFolder}/dist/index.js"),不能是.ts源码 - 删掉
launch.json里的NODE_PATH配置:它会干扰默认模块查找逻辑,99% 场景下不需要 - 如果是 TypeScript 项目,确保
tsconfig.json有"sourceMap": true,且outDir和launch.json中的outFiles路径一致 - 调试前手动运行
npm run build或tsc,别依赖preLaunchTask自动触发——任务失败时静默,断点照样挂不上
package.json 位置不一致,以及 TS Server 缓存没刷新。这两点不手动验证,光改配置没用。

















