VSCode中require('./utils')报错主因是路径解析失败而非模块未安装,Node.js按process.cwd()而非program位置解析路径,需确认工作目录为项目根、launch.json配置"cwd":"${workspaceFolder}/src",ESM下import须带.js扩展名。

VSCode 终端里 node -v 正常,但 require('./utils') 报错
这是典型的路径解析失败,不是模块没装,而是 Node.js 根本没在当前工作目录下找 node_modules 或目标文件。关键看 VSCode 当前打开的文件夹是不是项目根目录——如果只是打开了某个子文件(比如 src/index.js),但没以整个项目文件夹为工作区启动,require('./utils') 就会从 src/ 下去找 utils,而不是项目根下的 src/utils。
实操建议:
ZenHeart zenlink 与 zenlink-mcp 为 OpenClaw,涵盖安装、MCP 注册、钩子接线、入站轮询及升级维护。
- 确认 VSCode 左下角显示的路径是项目根目录(即含
package.json和node_modules的那一层) - 在终端里执行
pwd(macOS/Linux)或Get-Location(PowerShell),和你在命令行中cd进入项目根后输出一致才对 - 用
node -e "console.log(require.resolve('./utils'))"直接验证路径是否可解析;报错信息里会列出它实际尝试的完整路径,比猜更准 - ESM 模式下
import必须带扩展名:import utils from './utils.js',省略.js一定会报错
npm install 后仍提示 Cannot find module 'xxx'
说明 node_modules 里确实没有那个包,或者装到了别的地方。常见原因是 package.json 里漏声明、用了多包管理器但没同步,或 node_modules 被删了一半没重装。
实操建议:
- 运行
npm ls xxx(把xxx换成模块名),如果返回空或empty,代表它根本不在依赖树里 - 检查
package.json的dependencies或devDependencies字段,确认该模块已正确写入 - 删掉
node_modules和package-lock.json,再跑一次npm install—— 不要跳过这步,锁文件不一致是静默故障主因 - 如果你用的是
yarn workspaces或pnpm,确保 VSCode 终端执行了yarn install或pnpm install,而不是npm install
调试时 launch.json 配置正确,但还是找不到本地模块
VSCode 调试器默认不自动注入 node_modules 路径,尤其当 program 指向的是编译前的 src/ 文件,而实际 require 解析发生在 out/ 或构建后环境里时,路径就断了。
实操建议:
-
launch.json中的program必须指向可执行的 JS 入口,通常是${workspaceFolder}/out/extension.js(TS 编译后)或${workspaceFolder}/index.js(JS 项目) - 避免在
env里手动加NODE_PATH,它会干扰默认查找逻辑,反而让相对路径失效 - 如果是 TypeScript 项目,确认
tsconfig.json的outDir和rootDir匹配,并且已运行npm run compile或tsc - 改完配置后,必须重启调试会话(不是只点“重新启动”,而是先停止再点“开始调试”)
Node.js 是 nvm-windows 管理的,VSCode 找不到全局模块
nvm-windows 默认把每个版本装在独立路径(如 D:
vm4w
odejs),而 npm 全局安装的包默认放在 %APPDATA%
pm,这个路径和 nvm 当前激活版本不绑定——换版本后,npm install -g 装的包可能还在旧路径下,VSCode 就找不到。
实操建议:
- 在 PowerShell 终端里执行
nvm use 20(换成你实际用的版本),再运行npm config get prefix,确认输出是D: vm4w odejs下的子路径,而不是%APPDATA% - 如果 prefix 还是指向
%APPDATA%,运行npm config set prefix "D: vm4w odejs ode_global"并手动把该路径加进系统Path环境变量 - VSCode 设置里加
"terminal.integrated.env.windows": { "PATH": "${env:PATH};D:\nvm4w\nodejs" },然后**完全关闭并重启 VSCode** - 别依赖
npm install -g装开发工具(如typescript、nodemon),优先用npx:比如npx ts-node index.ts,它自动匹配当前 nvm 版本
node -v 和 npm ls 都正常,只要其中一环没对齐路径或工作目录,就会报“找不到”。每次遇到,先盯住错误信息里那句 “tried …” 后面列出的实际路径,比查文档更快。

















