AWS Elastic Beanstalk:构建Node.js应用时出现模块找不到错误
Node.js构建命令报错成因分析
问题场景
完成AWS账户与区域引导(bootstrap)后,执行node run build命令构建Node.js应用时,出现如下错误:
node:internal/modules/cjs/loader:958 throw err; ^ Error: Cannot find module '/.../cdk-eb-infra/run' at Module._resolveFilename (node:internal/modules/cjs/loader:955:15) at Module._load (node:internal/modules/cjs/loader:803:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:18:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v18.8.0
成因解析
- 核心原因:命令语法错误
node命令的作用是直接执行单个JavaScript文件(例如node index.js),而执行项目中定义的构建脚本,需要使用包管理工具(npm/yarn/pnpm)的run命令来调用package.json里的scripts配置。你输入的node run build会让Node.js误认为要执行名为run的模块文件,但当前目录不存在该模块,因此抛出MODULE_NOT_FOUND错误。 - 次要可能性(若尝试直接执行脚本)
若你想绕过包管理工具直接执行构建脚本,需要指定脚本的完整路径,比如node ./scripts/build.js,但这并非Node.js项目的常规构建流程,绝大多数项目都是通过npm scripts统一管理构建命令。
内容的提问来源于stack exchange,提问作者AlePouroullis
相关产品推荐
相关产品推荐

