Node.js/Nest.js运行accounts微服务报MODULE_NOT_FOUND错误如何解决
NestJS accounts微服务MODULE_NOT_FOUND报错排查方案
该报错本质是启动微服务时,Node无法找到编译后的入口文件/home/node/services/accounts/dist/main,说明编译环节未正常输出产物,可按以下步骤逐一排查:
- 手动执行编译命令校验编译是否正常
单独运行编译命令查看是否有编译报错:
命令执行完成后检查dist文件夹下是否存在main.js文件,若不存在且命令行有编译报错,优先修正代码中的语法错误、依赖引入错误等问题后重新编译。yarn run build - 校验nest-cli.json配置
打开项目根目录的nest-cli.json,确认sourceRoot和入口文件配置与项目结构匹配:
若你的入口文件路径不是{ "sourceRoot": "src", "entryFile": "main" }src/main.ts,需修改对应配置项为实际路径。 - 校验package.json脚本配置
确认package.json中scripts字段的启动、编译命令配置符合预期:
若start命令额外配置了自定义入口路径,需确认配置路径正确。{ "scripts": { "build": "nest build", "start": "nest start" } } - 校验命令执行的工作目录
确认执行yarn start的当前工作目录为/home/node/services/accounts,工作目录错误会导致nest在错误路径下查找编译产物。 - 校验目录读写权限
确认当前执行命令的用户对accounts目录有读写权限,无写入权限时编译无法生成dist文件夹及对应产物,可通过ls -l查看目录权限,调整权限后重新操作即可。 - 清理缓存后重新执行
以上步骤均无问题时,可清理缓存后重新安装依赖、编译启动:yarn cache clean rm -rf node_modules dist yarn install yarn run build yarn start
内容的提问来源于stack exchange,提问作者Nandishwar Garg
相关产品推荐
相关产品推荐

