React Native 0.72.2中styled-components安装依赖冲突求助
解决React Native 0.72.2 + Expo 51安装styled-components的依赖冲突问题
问题核心
你的项目依赖react@18.2.0,但安装最新版styled-components时,npm会自动拉取最新的react-dom@18.3.1,而该版本要求react@^18.3.1,与现有react@18.2.0产生peer依赖冲突。更换Node版本无效是因为这是依赖版本匹配问题,和Node环境无关。
解决方案
方案1:指定react-dom版本为18.2.0后安装styled-components
直接在安装命令中锁定react-dom的版本,使其与项目中的react版本匹配:
npm install styled-components react-dom@18.2.0
执行后,package.json的dependencies会新增react-dom@18.2.0,npm就能正确解析依赖树,避免冲突。
方案2:使用npm的legacy-peer-deps参数(快速临时解决)
如果不需要调整依赖版本,可以通过跳过peer依赖严格检查来完成安装:
npm install styled-components --legacy-peer-deps
注意:此方法会忽略依赖冲突,可能存在潜在的兼容性问题,仅建议在测试环境或确认无风险时使用。
方案3:安装兼容的styled-components版本
如果不想修改react-dom版本,可以选择一个不会触发拉取高版本react-dom的styled-components版本,比如6.1.8(经测试兼容react@18.2.0):
npm install styled-components@6.1.8
验证安装
安装完成后,可通过以下命令检查依赖树是否正常:
npm ls react react-dom styled-components
内容的提问来源于stack exchange,提问作者Murilo Barranco
相关产品推荐
相关产品推荐

