如何解决 Flutter 中的第 3 方插件冲突?

How to resolve the 3rd party plugin conflicts in Flutter?

这是我的 pubspec.yaml 文件的一部分

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  http: ^0.13.3
  syncfusion_flutter_calendar: ^18.4.47
  flutter_chat_bubble: ^1.0.2
  intl: ^0.17.0
  flutter_local_notifications: ^4.0.1+2
  provider: ^5.0.0
  sqflite_sqlcipher: ^2.0.0
  logging: ^1.0.1
  grouped_list: ^3.5.0
  visibility_detector: ^0.1.5
  smart_select: ^4.3.2
  dropdown_search: ^0.5.0
  synchronized: ^3.0.0
  local_auth: ^1.1.5
  font_awesome_flutter: ^9.0.0
  lite_rolling_switch: ^0.1.1
  flutter_webview_plugin: ^0.3.11
  email_validator: ^1.0.6
  package_info: ^2.0.0
  connectivity: ^3.0.3
  device_info: ^2.0.0
  encrypt: ^5.0.0
  flutter_html: ^1.3.0
  url_launcher: ^6.0.2
  flutter_inappwebview: ^5.3.2
  signalr_core: ^1.1.1

当我尝试 运行 应用时出现此错误

运行 mobile_app1 中的“flutter pub get”... 因为 signalr_core 没有匹配 >1.1.1 <2.0.0 和 signalr_core 1.1.1 依赖元组 ^2.0.0,signalr_core ^1.1.1 需要元组 ^2.0.0 . 并且因为没有版本的元组匹配 >2.0.0 <3.0.0 并且元组 2.0.0 依赖箭袋 ^3.0.0,signalr_core ^1.1.1 需要箭袋 ^3.0.0。 并且因为 flutter_layout_grid 0.10.5 依赖于 quiver ^2.0.0 并且 flutter_layout_grid 没有版本匹配 >0.10.5 <0.11.0,signalr_core ^1.1.1 与 [= 不兼容29=]^0.10.5。 并且因为 flutter_html 1.3.0 依赖于 flutter_layout_grid ^0.10.5 并且 flutter_html 没有匹配 >1.3.0 <2.0.0 的版本,所以 signalr_core ^1.1.1 是与 flutter_html ^1.3.0 不兼容。 所以,因为mobile_app1同时依赖flutter_html^1.3.0和signalr_core^1.1.1,版本解析失败。 pub get failed (1; 所以,因为 mobile_app1 同时依赖 flutter_html ^1.3.0 和 signalr_core ^1.1.1,版本解析失败。)

我通过在我的 pubspec.yaml 文件中添加这个解决了这个问题

dependency_overrides:
  quiver: ^3.0.0

有没有更好的办法解决这个冲突?

全部设为any,然后运行 flutter pub get.

现在您可以查看 pubspec.lock 文件并查看您获得的版本并将它们放入 pubspec.yaml