执行指定版本Stripe依赖npm安装失败,请求排查依赖冲突
依赖冲突解决方法
问题根源
你的项目使用react@17.0.2,但已安装的@testing-library/react@13.4.0要求peer依赖为react@^18.0.0,npm的依赖解析逻辑会严格检查peer依赖匹配性,导致安装Stripe包时触发ERESOLVE错误。
可行解决方案
1. 降级@testing-library/react到兼容React 17的版本
@testing-library/react@12.x系列完全兼容React 17,执行以下命令降级:
npm install @testing-library/react@12.1.5 --save-dev
完成后重新安装Stripe包:
npm install @stripe/react-stripe-js@1.4.0 @stripe/stripe-js@1.13.2 --save
2. 升级React到18.x版本(项目允许的前提下)
直接升级React及ReactDOM到18.x,满足@testing-library/react@13.4.0的peer依赖要求:
npm install react@^18.0.0 react-dom@^18.0.0 --save
之后正常安装Stripe包即可。
3. 临时忽略peer依赖冲突(不推荐长期使用)
使用--legacy-peer-deps参数让npm采用旧版依赖解析逻辑,跳过冲突检查:
npm install @stripe/react-stripe-js@1.4.0 @stripe/stripe-js@1.13.2 --save --legacy-peer-deps
注意:此方案会绕过peer依赖校验,可能引入潜在的兼容性问题,仅作为临时应急手段。
内容的提问来源于stack exchange,提问作者Wan
相关产品推荐
相关产品推荐

