Node.js艺术生成脚本报Cannot find module错误,排查无果求助
Node.js 运行抛出MODULE_NOT_FOUND错误解决方案
错误详情
Error: Cannot find module '/Users/mayday/index.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15) at Function.Module._load (internal/modules/cjs/loader.js:745:27) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12) at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }
核心原因定位
错误中requireStack为空,说明不是项目代码内引用的依赖模块缺失,是Node.js执行时无法找到指定的入口文件/Users/mayday/index.js本身。
排查步骤
- 校验当前工作目录:在运行命令的终端执行
pwd,确认输出路径为/Users/mayday,若路径不符,执行cd /Users/mayday切换到目标目录后,重新执行node index.js - 校验文件名完全匹配:执行
ls查看当前目录下的文件列表,确认存在全小写的index.js文件,macOS大小写敏感模式下Index.js、index.JS都会被识别为不同文件 - 校验文件扩展名:执行
ls -all查看完整文件名,确认文件没有被隐藏扩展名,避免实际文件名为index.js.txt的问题 - 校验文件访问权限:执行
ls -l /Users/mayday/index.js确认当前用户拥有文件的可读权限,无权限时执行chmod 644 /Users/mayday/index.js授权后重试
特殊场景处理
如果以上步骤排查无问题仍报错:
若使用package.json的scripts启动,检查scripts配置的入口路径是否为相对于package.json所在目录的正确相对路径
若使用nvm等Node版本管理工具,执行node -v确认当前终端的Node版本与安装依赖时的版本一致,避免跨版本权限冲突
内容的提问来源于stack exchange,提问作者Mustafa Ali
相关产品推荐
相关产品推荐

