如何解决在VSCode终端运行node ./hello.js时出现的‘Cannot find module’错误?
解决Node.js运行时的
Cannot find module错误 别慌,这个问题我帮你捋捋,常见的几个排查方向都在这儿了:
先核对文件路径与当前终端目录
你运行的命令是node ./hello.js,那首先得确认hello.js确实在你终端当前的工作目录里。可以在终端里输入ls(Mac/Linux)或者dir(Windows),看看列表里有没有这个文件。有时候VSCode打开的文件夹和终端默认路径不一致,就会出现明明文件在编辑器里能看到,但终端找不到的情况。检查文件名的拼写与大小写
尤其是在Mac/Linux系统下,文件名是区分大小写的!比如你实际文件叫Hello.js,但命令里敲成了hello.js,就会直接报错。Windows系统虽然不区分,但也尽量保持一致,避免跨环境踩坑。排查文件内的
require语句
如果hello.js里引用了其他本地模块,比如require('./modules/tool'),一定要检查这个相对路径有没有写错。要是漏了开头的./或者../,Node会默认去全局模块或者node_modules里找,自然找不到你本地的文件。如果涉及第三方模块,确认依赖已安装
要是报错是找不到express这类第三方包,那大概率是你还没安装依赖。在项目根目录下运行npm install,把package.json里的依赖都装到本地的node_modules文件夹里就行。试试清除Node模块缓存
偶尔缓存会导致奇怪的问题,你可以直接用命令清除缓存后再运行:node --clear-module-cache ./hello.js要是还是不行,也可以删除
node_modules文件夹和package-lock.json文件,然后重新执行npm install,再试试运行你的脚本。
内容的提问来源于stack exchange,提问作者Binoy P.r




