修改package.json后Amplify上Nuxt构建每次失败的原因是什么?
解决Amplify上Nuxt构建报错"nuxt: command not found"的问题
问题描述
每次通过npm install新增模块(本次为@headlessui/vue)后,本地运行Nuxt项目完全正常,但Amplify生产环境的构建会失败,核心报错为:
sh: line 1: nuxt: command not found
完整构建日志片段:
> nuxt build 2025-02-10T09:35:30.329Z [WARNING]: sh: line 1: nuxt: command not found 2025-02-10T09:35:30.340Z [ERROR]: !!! Build failed 2025-02-10T09:35:30.341Z [ERROR]: !!! Error: Command failed with exit code 127
当前仅能通过从旧的可运行提交创建新分支、逐步推进代码来临时规避问题。
可行修复方案
- 调整构建命令
将Amplify的构建命令从nuxt build修改为npx nuxt build,直接调用项目本地node_modules中的Nuxt命令,避免环境变量无法识别全局Nuxt的问题。 - 检查依赖配置
确认nuxt被添加到package.json的dependencies字段中,而非devDependencies——Amplify生产环境默认不会安装devDependencies内的包,若Nuxt仅在开发依赖中,构建时会找不到命令。 - 锁定依赖版本
在package.json中明确指定所有依赖的具体版本(避免使用^或~这类版本范围符),防止Amplify安装时拉取到不兼容的新版本,导致依赖链断裂。 - 清理构建缓存
登录Amplify控制台,找到对应项目的构建设置,手动清理构建缓存后重新触发构建,避免缓存的旧依赖干扰新安装的模块。
内容的提问来源于stack exchange,提问作者Fijjit
相关产品推荐
相关产品推荐

