【问题标题】:Flutter json_serializable 5.0.0 is not working along with auto_routeFlutter json_serializable 5.0.0 不能与 auto_route 一起使用
【发布时间】:2021-09-24 20:34:49
【问题描述】:

将 json_serializable 库从 4.1.4 升级到 5.0.0 后出现以下错误

谁能解释我使用的版本有什么问题?

因为没有任何版本的 auto_route_generator 匹配 >2.1.0 =0.40.0 =0.40.0 =5.0.0 依赖于分析器 ^2.0.0,所以 auto_route_generator ^2.1.0 与 json_serializable >=5.0.0 不兼容。 所以,因为 carer_connect 依赖于 json_serializable ^5.0.0 和 auto_route_generator ^2.1.0,所以版本求解失败。 pub get failed (1; 所以,因为 carer_connect 依赖于 json_serializable ^5.0.0 和 auto_route_generator ^2.1.0,版本求解失败。)

这是我的pubspec.yaml 文件

name: demo
description: demo

publish_to: 'none'
version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"


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

  cupertino_icons: ^1.0.2
  dio: ^4.0.0
  auto_route: ^2.2.0
  json_serializable: ^5.0.0

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^1.0.0
  build_runner:
  auto_route_generator: ^2.1.0

flutter:

  uses-material-design: true
  generate: true

  assets:
    - assets/icons/
    - assets/config/

【问题讨论】:

  • 这有什么更新吗?
  • @cubanGuy 我在下面添加了一个解决方案。请检查这是否解决了您的问题。

标签: flutter dart flutter-dependencies jsonserializer


【解决方案1】:

试试这个代码

json_serializable: any

我希望这会奏效。

【讨论】:

【解决方案2】:

这一步和我一起工作

1 - 在 pubspec.yaml 文件中添加依赖项

  dio: ^4.0.0
  json_serializable: ^4.1.4
  json_annotation: ^4.0.1

2-运行此命令重置版本

dart pub upgrade --null-safety

【讨论】:

    【解决方案3】:

    发生这种情况是因为 auto_route_generator 在该包内部依赖于 json_serializable: ^4.1.4,但您在外部使用 json_serializable 并且两种情况下使用的版本不匹配,因此出现错误,

    对此的一种解决方案是,您可以同时使用这两个版本,并在 dependencies: 中提及一个版本,在 dependency_overrides: 中提及另一个版本,如下所示:

    dependencies:
      ...
      json_serializable: ^5.0.0
      ...
    
    dependency_overrides:
      ...
      json_annotation: ^4.0.1
      json_serializable: ^4.1.4
      ...
    

    并且问题应该得到解决。如果出现任何进一步的复杂情况,您可以随时检查软件包内部 pubspec.yaml 中使用的版本,并将它们添加为代码中的 dependency_overrides:

    【讨论】:

      猜你喜欢
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2022-08-22
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      相关资源
      最近更新 更多