当我尝试使用react-native-image-crop-picker和react-native-image-crop-tools时,我目前在React Native项目中面临依赖冲突。每个库都依赖于不同版本的 TOCropViewController,导致我无法解决冲突。
情况是这样的:
[!] CocoaPods could not find compatible versions for pod "TOCropViewController":
In snapshot (Podfile.lock):
TOCropViewController (= 2.6.1)
In Podfile:
RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) was resolved to 0.40.3, which depends on
TOCropViewController
react-native-image-crop-tools (from `../node_modules/react-native-image-crop-tools`) was resolved to 1.6.4, which depends on
TOCropViewController (= 2.5.3)
我知道这是一个基本的依赖冲突,所以我在 Podfile 中添加了 pod 'TOCropViewController', '2.5.3'。但它还没有发挥作用。 如何解决这个问题? 欢迎任何建议。谢谢你
如果需要使用这两个包,您可以尝试手动调整react-native-image-crop-picker内的版本TOCropViewController,直到它按预期工作或直接禁用它(如果可能)。然后使用 https://www.npmjs.com/package/patch-package,您可以在每次安装/更新节点模块时将更改应用到 patch。请记住,这是一个必须有两个包的解决方案。
我注意到react-native-image-crop-picker使用TOCropViewController 2.6.1版本,它引入了2.5.3版本中不存在的属性。由于react-native-image-crop-tools使用的是后一个版本,这种不兼容性促使我更新react-native-image-crop-tools中的TOCropViewController版本。
具体来说,我更改了 podspec 中的依赖版本
node_modules/react-native-image-crop-tools/react-native-image-crop-tools/podspec
来自:
s.dependency 'TOCropViewController', '2.5.3' => s.dependency 'TOCropViewController', '2.6.1'