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é.)
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/
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.