npm install后仍“Cannot find module”是因Node.js未扫描到新装包,主因包括:package.json漏声明、工作目录非项目根、yarn/pnpm符号链接未被TS服务识别、node_modules与package-lock.json不一致;应删二者重装,并用code .启动VSCode确保环境变量完整。

npm install 后 still Cannot find module
这说明 Node.js 运行时根本没扫描到你刚装的包,不是代码写错,而是模块压根没进 node_modules 或没被正确识别。常见原因有:
-
package.json里漏写了该模块(比如在devDependencies但你运行的是生产脚本,或压根没声明) - 你在子目录里打开了 VSCode,当前工作目录不是项目根——Node.js 只会从执行路径向上找
node_modules - 用了
yarn workspaces或pnpm,但 VSCode 的 TypeScript 语言服务没解析符号链接,npm ls 模块名在终端能查到,但在编辑器里报错 - 删过
node_modules但没重装,或者package-lock.json和实际安装不一致
最稳做法:删掉 node_modules 和 package-lock.json,再跑一次 npm install;确认当前 VSCode 窗口是从终端用 code . 启动的,避免环境变量丢失。
require('./utils') 报错但文件明明存在
这是路径解析失败,和包管理无关。Node.js 对相对路径极其严格,尤其在 ESM 模式下:
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- ESM 中
import必须带扩展名:import utils from './utils.js',不能省略.js - 检查大小写和拼写——Linux/macOS 下
Utils.js≠utils.js - 确认
./utils是相对于当前__dirname的路径,不是相对于项目根;用node -e "console.log(require.resolve('./utils'))"直接验证能否解析出真实路径 - 如果
utils是个目录,确保里面有index.js或符合package.json#main的入口文件
VSCode 内置终端能 node -v,但调试时报 command not found: node
这不是插件问题,是 VSCode 没继承 shell 的 PATH。尤其 macOS/Linux 下从 Dock 启动时,~/.zshrc 根本没加载:
- 在 VSCode 内置终端执行
which node,对比你在 iTerm 里执行的结果是否一致 - 不一致就说明环境断了;关掉所有 VSCode 窗口,从终端运行
code .打开项目 - Windows 用户检查系统环境变量里有没有
C:\Program Files\nodejs\;没有就重装 Node.js,务必勾选 “Add to PATH”
插件开发时提示 Cannot find module 'axios'
VSCode 插件的依赖和你的业务项目完全隔离,插件自身的 node_modules 必须单独安装:
- 打开插件源码目录(不是你写的业务代码目录),运行
npm install - 确认
node_modules下真有axios,且package.json的dependencies里声明了它 - 调试前确保已构建(
npm run compile),否则launch.json里的program路径指向未编译文件,require会按 TS 路径解析失败 - 别用
npm-check查插件依赖——它只扫当前目录,不理解插件运行时上下文
真正容易被忽略的是:VSCode 插件调试时不会自动注入 node_modules 路径,哪怕你 npm install 了,如果没构建、没打包、没用 vsce package,照样找不到模块。

















