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

在AWS Amplify运行React遇react-collapsed依赖冲突错误求助

问题原因

从错误日志能明确看到:react-collapsed@3.6.0的peer依赖要求是React ^16.8 或 ^17,但你的项目使用的是React 18.2.0。本地开发时npm可能采用了宽松的依赖解析策略(默认忽略peer冲突),但AWS Amplify构建环境的npm依赖解析更严格,因此触发了ERESOLVE错误。

解决方案

以下是三种可行的解决办法,按优先级排序:

1. 升级react-collapsed到支持React 18的版本

react-collapsed从4.x版本开始已经兼容React 18,直接升级到最新版即可解决依赖冲突:

npm install react-collapsed@latest

这是最推荐的方案,既能解决问题,也能获得新版本的功能和修复。

2. 在Amplify构建命令中添加--legacy-peer-deps参数

如果暂时不想升级包,可以修改Amplify的构建配置,让npm忽略peer依赖冲突:

  • 进入AWS Amplify控制台,找到你的项目→构建设置→编辑
  • 将原来的构建命令(比如npm ci)修改为:
npm ci --legacy-peer-deps

这个参数会让npm采用旧版本的peer依赖解析逻辑,跳过冲突检查。

3. 使用npm overrides强制统一依赖版本(npm 8.3+支持)

在项目的package.json中添加overrides字段,强制react-collapsed使用项目已安装的React版本:

{
  "overrides": {
    "react-collapsed": {
      "react": "$react"
    }
  }
}

添加后重新运行npm install,再提交代码到Amplify构建即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:35:17