React Native安装google-spreadsheet遇ERESOLVE依赖冲突如何解决?
解决React Native安装google-spreadsheet时的ERESOLVE依赖冲突问题
问题本质
你的React Native项目依赖react@18.1.0(由react-native@0.70.6的peer依赖强制指定),但安装google-spreadsheet时,触发了react-redux的可选peer依赖react-dom@18.2.0,后者要求react@^18.2.0,两者版本不兼容导致依赖解析失败。
解决方案
方案一:使用--legacy-peer-deps跳过peer依赖检查(推荐)
直接执行以下命令安装,该参数会让npm采用旧版peer依赖解析逻辑,忽略非核心的版本冲突:
npm i google-spreadsheet --save --legacy-peer-deps
注:React Native项目本身不需要react-dom(这是Web环境依赖),react-redux将其设为可选peer依赖,所以此方案不会影响项目运行稳定性。
方案二:升级React与React Native到兼容版本
若愿意升级项目,可将React版本同步到18.2.0,同时升级React Native到支持该版本的分支(如0.71+):
- 升级React及React-dom:
npm install react@18.2.0 react-dom@18.2.0 --save
- 升级React Native到兼容版本(以
0.71.8为例):
npm install react-native@0.71.8 --save
注:升级React Native可能需要同步调整其他依赖(如原生模块、开发工具),建议先备份项目再操作。
方案三:强制安装(应急用,不推荐)
若上述方案无法执行,可使用--force强制npm安装,但可能引入潜在兼容性问题:
npm i google-spreadsheet --save --force
内容的提问来源于stack exchange,提问作者ConfusedDeveloper
相关产品推荐
相关产品推荐

