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

Gatsby 3.13 + React 17 环境安装react-spring出现ERESOLVE报错如何解决

问题原因分析

该报错既不是React 17也不是Gatsby的兼容性问题,根因是你安装的全量react-spring包自带的@react-spring/zdog可选依赖,其下游依赖react-reconciler@0.20.4仅兼容React 16版本,和你项目里的React 17产生了依赖树冲突。

解决方案

方案1(最推荐):按需安装react-spring子包

绝大多数场景下不需要安装全量的react-spring,只需要安装对应平台的子包即可,完全避开不必要的zdog相关依赖:

  • 普通web端动画场景,执行以下命令安装即可:
npm i @react-spring/web
  • 其他场景按需安装对应子包即可:three.js动画场景装@react-spring/three,React Native动画场景装@react-spring/native,不需要的子包不安装即可完全规避本次依赖冲突。

方案2:强制覆盖依赖版本

如果确实需要使用全量react-spring的所有功能,可以通过npm的overrides配置强制指定兼容React17的react-reconciler版本:

  1. 在项目根目录的package.json中添加如下配置:
{
  "overrides": {
    "react-reconciler": "^0.26.2"
  }
}
  1. 重新执行安装命令即可:
npm i react-spring

方案3:清理缓存后使用legacy-peer-deps参数

如果上述方案不生效,可以直接清空node_modules和锁文件后重新执行带参数的安装命令:

rm -rf node_modules package-lock.json
npm i react-spring --legacy-peer-deps

安装完成后启动Gatsby项目验证功能即可,本次冲突的依赖属于可选功能的下游依赖,只要你不使用zdog相关的动画能力,不会影响项目正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:48:04