Expo React Native项目安装datetimepicker出现依赖冲突如何解决?
Expo环境下日期选择器依赖冲突解决方案
错误原因
核心冲突来自@react-native-community/datetimepicker@3.2.0依赖的react-native-windows@0.64.12要求peer依赖为react@17.0.1,而你当前使用的Expo版本默认搭载React 16.13.1。不需要兼容Windows平台时,该依赖冲突完全不影响组件在iOS/Android平台的正常运行。
注意:你执行的安装命令包名为@react-native-community/picker,该包是下拉选择器而非日期选择器,若你需要使用日期选择器请安装@react-native-community/datetimepicker
可行解决方案
方案1:忽略peer依赖冲突直接安装
直接在安装命令后添加参数跳过依赖版本校验,该方案不会影响Expo环境的稳定性:
expo install @react-native-community/datetimepicker -- --legacy-peer-deps
如果确实需要使用下拉选择器,对应命令为:
expo install @react-native-community/picker -- --legacy-peer-deps
方案2:安装适配当前React版本的低版本组件
3.0.0版本的日期选择器不存在该依赖冲突,可直接安装适配版本:
expo install @react-native-community/datetimepicker@3.0.0
方案3:升级Expo SDK版本(长期推荐)
如果你可以接受升级项目依赖,可将Expo SDK升级至44及以上版本,该版本开始默认搭载React 17,升级完成后再执行安装命令即可无冲突安装最新版组件。
验证步骤
安装完成后执行以下命令清空缓存启动项目,验证组件可正常调用即可:
expo start --clear
内容的提问来源于stack exchange,提问作者Irfan wani
相关产品推荐
相关产品推荐

