You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amplify Hosting环境构建失败:npm install执行出错

解决Amplify GitHub触发构建时npm.cmd ENOENT错误

问题分析

错误spawn npm.cmd ENOENT表明构建环境无法找到npm.cmd命令,核心原因是Amplify构建服务器基于Linux系统,npm.cmd是Windows环境专属命令,或是构建环境中Node.js/npm配置异常、跨环境缓存冲突导致。

解决方案

1. 清理Amplify构建缓存

之前手动推送的Windows环境缓存文件可能与Linux构建环境冲突:

  • 登录Amplify控制台,进入对应项目的目标分支
  • 点击Build settings > Cache > Clear cache
  • 重新触发构建

2. 明确指定Node.js版本

确保构建环境使用项目兼容的Node.js版本(Node.js默认自带npm),可在构建设置的preBuild阶段添加版本指定命令:

frontend:
  phases:
    preBuild:
      commands:
        - nvm install 18  # 替换为你的项目实际兼容版本
        - nvm use 18
        - npm ci

也可直接在Amplify控制台的Build image settings中选择匹配项目的Node.js版本。

3. 检查项目脚本中的Windows专属命令

查看项目package.json的scripts字段,确认是否存在npm.cmd这类Windows命令,替换为通用的npm:

// 错误写法
"scripts": {
  "setup": "npm.cmd install"
}

// 正确写法
"scripts": {
  "setup": "npm install"
}

4. 调整构建命令(可选)

若npm ci因锁文件缺失或不兼容引发间接问题,可临时替换为npm install尝试:

frontend:
  phases:
    preBuild:
      commands:
        - npm install

内容的提问来源于stack exchange,提问作者DontEatMyCookies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 05:33:16