web-dev-qa-db-fra.com

Flutter JSON_SERIALISABLE 5.0.0 ne fonctionne pas avec Auto_Route

Je reçois ci-dessous une erreur après la mise à niveau du JSON_SERIALISABLE LIB de 4.1.4 à 5.0.0

quelqu'un peut-il s'il vous plaît expliquer ce qui ne va pas avec les versions que j'utilise?

Étant donné qu'aucune version de Auto_Route_Generator Match> 2.1.0 <3.0.0 et Auto_Route_Generator 2.1.0 dépend de l'analyseur> = 0.40.0 <2.0.0, auto_route_generator ^ 2.1.0 nécessite l'analyseur> = 0,40.0 <2.0.0. Et parce que JSON_SERIALISABLE> = 5.0.0 dépend de l'analyseur ^ 2.0.0, Auto_Route_Generator ^ 2.1.0 est incompatible avec JSON_SERIALISABLE> = 5.0.0. Donc, parce que carer_connect dépend de JSON_SERIALISABLE ^ 5.0.0 et Auto_Route_Generator ^ 2.1.0, la résolution de la version a échoué. PUB Get a échoué (1; Donc, parce que carer_connect dépend de JSON_SERIALISABLE ^ 5.0.0 et Auto_Route_Generator ^ 2.1.0, la résolution de la version a échoué.)

enter image description here

C'est mon pubspec.yaml déposer

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/

3
Prajwal das

Cela se passe parce que le auto_route_generator dépend de json_serializable: ^4.1.4 interne à l'intérieur de ce paquet, mais vous utilisez json_serializable externe et la version utilisée dans les deux cas ne correspond pas, donc l'erreur,

Une solution pour cela est que vous pouvez utiliser les deux versions et mentionner une version à l'intérieur dependencies: et un autre à l'intérieur dependency_overrides: comme ça:

dependencies:
  ...
  json_serializable: ^5.0.0
  ...

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

Et le problème devrait être résolu. Si une complication supplémentaire se pose, vous pouvez toujours vérifier quelle version est utilisée à l'intérieur de l'emballage interne pubspec.yaml et ajoutez-les comme dependency_overrides: Dans votre code.

1
Zihan