如何在 Flutter 中实现并找到好的版本插件?
Dart 版本 2.13.4
Flutter 版本 2.2.3
如何实现改造,我尝试了很多选项,但总是出现版本错误。你如何轻松处理这个问题,这是一场噩梦:C :)
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
aad_oauth: ^0.3.0
animated_splash_screen: ^1.1.0
auto_size_text: ^2.1.0
# build_runner: ^2.1.1
cloud_firestore: ^2.5.4
cupertino_icons: ^1.0.2
date_time_picker: ^2.1.0
dio: ^4.0.0
easy_localization: ^3.0.0
equatable: ^2.0.3
fast_immutable_collections: ^7.0.3
file_picker: ^4.1.1
firebase_auth: ^3.1.0
firebase_storage: ^10.0.3
flutter:
sdk: flutter
flutter_form_builder: ^6.1.0+1
flutter_mobx: ^2.0.2
flutter_multiselect: ^1.0.0
flutter_slidable: ^0.6.0
flutter_svg: ^0.22.0
get: ^4.3.8
http: ^0.13.3
image_picker: any
# json_annotation: ^4.1.0
# json_serializable: ^5.0.0
kartal: ^2.1.0
lottie: ^1.2.1
mime: ^1.0.1
mime_type: ^1.0.0
mobx: ^2.0.4
mobx_codegen: any
multi_select_flutter: ^4.0.0
numberpicker: ^2.1.1
path: ^1.8.0
path_provider: any
provider: ^6.0.0
shared_preferences: ^2.0.7
url_launcher: any
vexana: ^2.3.0
webview_flutter: ^2.0.4
retrofit: any
# dio: ^3.0.10
built_value: ^7.1.0
json_annotation: any
# build_runner: ^1.10.0
# json_serializable: ^3.5.0
dependency_overrides:
analyzer: ^2.1.0
meta: ^1.4.0
firebase_messaging_platform_interface: 3.1.6
firebase_crashlytics_platform_interface: 3.1.13
cloud_firestore_platform_interface: 5.4.13
firebase_auth_platform_interface: 6.1.11
firebase_storage_platform_interface: 4.0.14
cloud_functions_platform_interface: 5.0.21
firebase_analytics_platform_interface: 3.0.5
firebase_remote_config_platform_interface: 1.0.5
firebase_dynamic_links_platform_interface: 0.2.0+5
firebase_performance_platform_interface: 0.1.0+5
firebase_app_installations_platform_interface: 0.1.0+6
dev_dependencies:
flutter_test:
sdk: flutter
# retrofit_generator: ^1.3.7+5
# build_runner: ^1.10.0
# json_serializable: ^3.5.0
# built_value_generator: ^7.1.0
build_runner: ^1.4.0
# json_serializable: any
retrofit_generator: any
built_value_generator: any
flutter:
uses-material-design: true
assets:
- assets/lang/
- assets/svg/
- assets/image/
- assets/lottie/
fonts:
- family: Poppins
fonts:
- asset: assets/fonts/Poppins-Regular.ttf
你如何解决这类问题?
The current Dart SDK version is 2.13.4.
Because built_value >=6.1.0 <8.0.0-nullsafety.0 depends on built_collection >=2.0.0 <5.0.0 and retrofit_generator >=2.0.0-beta1 <4.0.0 depends on built_collection ^5.0.0, built_value >=6.1.0 <8.0.0-nullsafety.0 is incompatible with retrofit_generator >=2.0.0-beta1 <4.0.0.
Because retrofit_generator >=0.6.3+1 <1.0.0 depends on dio 2.1.16 and retrofit_generator <=0.6.3 depends on dio ^2.1.0, retrofit_generator <1.0.0 requires dio ^2.1.0.
Thus, if built_value >=6.1.0 <8.0.0-nullsafety.0 and retrofit_generator <1.0.0-∞ or >=2.0.0-beta1 <4.0.0-∞ then dio ^2.1.0.
And because retrofit_generator >=1.0.0 <2.0.0-beta1 depends on dio ^3.0.1, if built_value >=6.1.0 <8.0.0-nullsafety.0 and retrofit_generator <4.0.0 then dio ^2.1.0 or ^3.0.1.
And because retrofit_generator >=4.0.0 requires SDK version >=2.14.0 <3.0.0 and mdi_flutter_proj depends on dio ^4.0.0, built_value >=6.1.0 <8.0.0-nullsafety.0 is incompatible with retrofit_generator.
So, because mdi_flutter_proj depends on both built_value ^7.1.0 and retrofit_generator any, version solving failed.
pub get failed (1; So, because mdi_flutter_proj depends on both built_value ^7.1.0 and retrofit_generator any, version solving failed.)
Process finished with exit code 1
它不仅仅是代码,而且只是一些信息,所以我在这里写一些文字以便有可能应用我的帖子。
Dart version 2.13.4
Flutter version 2.2.3
How to implement retrofit, I have tried many many options and always I have got errors with versions. How do you handle this issues easily it is a nightmare :C :)
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
aad_oauth: ^0.3.0
animated_splash_screen: ^1.1.0
auto_size_text: ^2.1.0
# build_runner: ^2.1.1
cloud_firestore: ^2.5.4
cupertino_icons: ^1.0.2
date_time_picker: ^2.1.0
dio: ^4.0.0
easy_localization: ^3.0.0
equatable: ^2.0.3
fast_immutable_collections: ^7.0.3
file_picker: ^4.1.1
firebase_auth: ^3.1.0
firebase_storage: ^10.0.3
flutter:
sdk: flutter
flutter_form_builder: ^6.1.0+1
flutter_mobx: ^2.0.2
flutter_multiselect: ^1.0.0
flutter_slidable: ^0.6.0
flutter_svg: ^0.22.0
get: ^4.3.8
http: ^0.13.3
image_picker: any
# json_annotation: ^4.1.0
# json_serializable: ^5.0.0
kartal: ^2.1.0
lottie: ^1.2.1
mime: ^1.0.1
mime_type: ^1.0.0
mobx: ^2.0.4
mobx_codegen: any
multi_select_flutter: ^4.0.0
numberpicker: ^2.1.1
path: ^1.8.0
path_provider: any
provider: ^6.0.0
shared_preferences: ^2.0.7
url_launcher: any
vexana: ^2.3.0
webview_flutter: ^2.0.4
retrofit: any
# dio: ^3.0.10
built_value: ^7.1.0
json_annotation: any
# build_runner: ^1.10.0
# json_serializable: ^3.5.0
dependency_overrides:
analyzer: ^2.1.0
meta: ^1.4.0
firebase_messaging_platform_interface: 3.1.6
firebase_crashlytics_platform_interface: 3.1.13
cloud_firestore_platform_interface: 5.4.13
firebase_auth_platform_interface: 6.1.11
firebase_storage_platform_interface: 4.0.14
cloud_functions_platform_interface: 5.0.21
firebase_analytics_platform_interface: 3.0.5
firebase_remote_config_platform_interface: 1.0.5
firebase_dynamic_links_platform_interface: 0.2.0+5
firebase_performance_platform_interface: 0.1.0+5
firebase_app_installations_platform_interface: 0.1.0+6
dev_dependencies:
flutter_test:
sdk: flutter
# retrofit_generator: ^1.3.7+5
# build_runner: ^1.10.0
# json_serializable: ^3.5.0
# built_value_generator: ^7.1.0
build_runner: ^1.4.0
# json_serializable: any
retrofit_generator: any
built_value_generator: any
flutter:
uses-material-design: true
assets:
- assets/lang/
- assets/svg/
- assets/image/
- assets/lottie/
fonts:
- family: Poppins
fonts:
- asset: assets/fonts/Poppins-Regular.ttf
How do you fix that kind of issues?
The current Dart SDK version is 2.13.4.
Because built_value >=6.1.0 <8.0.0-nullsafety.0 depends on built_collection >=2.0.0 <5.0.0 and retrofit_generator >=2.0.0-beta1 <4.0.0 depends on built_collection ^5.0.0, built_value >=6.1.0 <8.0.0-nullsafety.0 is incompatible with retrofit_generator >=2.0.0-beta1 <4.0.0.
Because retrofit_generator >=0.6.3+1 <1.0.0 depends on dio 2.1.16 and retrofit_generator <=0.6.3 depends on dio ^2.1.0, retrofit_generator <1.0.0 requires dio ^2.1.0.
Thus, if built_value >=6.1.0 <8.0.0-nullsafety.0 and retrofit_generator <1.0.0-∞ or >=2.0.0-beta1 <4.0.0-∞ then dio ^2.1.0.
And because retrofit_generator >=1.0.0 <2.0.0-beta1 depends on dio ^3.0.1, if built_value >=6.1.0 <8.0.0-nullsafety.0 and retrofit_generator <4.0.0 then dio ^2.1.0 or ^3.0.1.
And because retrofit_generator >=4.0.0 requires SDK version >=2.14.0 <3.0.0 and mdi_flutter_proj depends on dio ^4.0.0, built_value >=6.1.0 <8.0.0-nullsafety.0 is incompatible with retrofit_generator.
So, because mdi_flutter_proj depends on both built_value ^7.1.0 and retrofit_generator any, version solving failed.
pub get failed (1; So, because mdi_flutter_proj depends on both built_value ^7.1.0 and retrofit_generator any, version solving failed.)
Process finished with exit code 1
It is not only code, but just few piece of information so I write here some text to have the possibility of applying my post.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在终端中运行以下命令:
flutter pub 升级--主要版本
Run following command in terminal :
flutter pub upgrade--major-versions
首先,您必须将 dart sdk 版本增加到 2.14,然后您可以升级改造生成器
,因此您可以升级构建集合,因为空安全版本
我知道一开始它很令人困惑,因为当你使用这么多第三方包时
不同的包可以对某些包使用不同的版本控制,例如您示例中的改造包,
通常您希望尽快使用 null 安全包来升级您的包
因此,您可以通过查看 pub.dev
tldr 上的包页面来更改您使用的版本控制包:
如果你像我一样懒:)
你可以在这个例子中使用这个命令
我已经更新了4个我使用的插件/包
你可以看到你的 pubspec yaml 上有不匹配的版本约束
,然后我 pub update 运行来升级我的所有包以匹配我的 pubspec yaml 在这一行上的约束
,这样更新将更新你的所有包以匹配你现在使用的依赖约束
免责声明 这不是推荐的方式,您必须手动更新软件包,因为通常有一些已弃用的 API,您必须在某些版本中进行更改
first you must increase dart sdk version to 2.14 then you can upgrade retrofit generator
therefore you can upgrade build collection because null safety version
I know its confusing at first because when you use so many third party package
different package can use different versioning for certain package like retrofit package in you example
usually you WANT to upgrade your package using to null safety package asap
for this reason you can change versioning package you using by look on package page on pub.dev
tldr:
if you lazy like me :)
you can use this command
in this example I have updated 4 my plugin/package I use
you can see there are mismatch version constraint on ur pubspec yaml
then I pub upgrade run to upgrade all my package to match the constraint of my pubspec yaml on this line
that way update will update all of your package to match depedency constraint you using right now
disclaimer this is not recommended way, you must update package manually because usually there are deprecated API that you must change in certain version