flutter firebase 版本解决失败
Posted
技术标签:
【中文标题】flutter firebase 版本解决失败【英文标题】:flutter firebase version solving failed 【发布时间】:2019-07-30 04:36:21 【问题描述】:因为 firebase_storage >=2.0.0 取决于 firebase_core ^0.3.0 而 firebase_auth 0.6.6 取决于 firebase_core ^0.2.5+1,所以 firebase_storage >=2.0.0 与 firebase_auth 0.6.6 不兼容。 并且由于没有任何版本的 firebase_auth 匹配 >0.6.6 =2.0.0 与 firebase_auth ^0.6.6 不兼容。 所以,因为store_manager_erp_next同时依赖firebase_auth ^0.6.6和firebase_storage ^2.1.0+1,版本解析失败。
我是flutter新手,请帮我解决这个问题
banner: ^0.1.3
cloud_firestore: ^0.8.2
http: ^0.12.0
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for ios style icons.
cupertino_icons: ^0.1.2
#sqflite: any
sqflite: ^0.13.0+1
folding_cell: "^0.1.0"
flutter_rating: ^0.0.2
firebase_auth: ^0.6.6
firebase_database: ^1.0.5
firebase_storage: ^2.1.0+1
fluttertoast: ^2.1.5
progress_hud: ^1.1.0
auto_size_text: ^0.3.0
mongo_dart: ^0.3.4
google_sign_in: ^3.0.4
material_search: ^0.2.8
flutter_secure_storage: ^3.1.2
modal_progress_hud: ^0.1.2
flutter_typeahead: ^0.4.1
# flutter_facebook_login: ^1.1.1
flutter_firebase_ui: ^0.0.13
json_serializable: ^2.0.1
flutter_spinkit: "^3.1.0"
shared_preferences: ^0.4.3
flutter_html: ^0.8.2
#pinch_zoom_image: "^0.2.5"
#photo_view: ^0.2.0
splashscreen: ^1.1.0
#shared_preferences: ^0.4.3
badges: ^0.0.6
【问题讨论】:
【参考方案1】:改变
firebase_auth: ^0.6.6
到
firebase_auth: ^0.8.0
如果约束已过时,您可能还需要检查其他依赖项。
您也可以使用https://github.com/flutter/flutter/issues/12627#issuecomment-400037580中提到的解决方法
export FLUTTER_ROOT="/Users/something/flutter"
pub upgrade
获取有关可用依赖项更新的信息。
【讨论】:
因为 flutter_firebase_ui 0.0.13 依赖于 firebase_auth ^0.6.2+1 并且没有任何版本的 flutter_firebase_ui 匹配 >0.0.13 flutter_firebase_ui 自 2018 年 10 月 25 日以来未更新,并且与较新的 firebase 软件包版本不兼容。如果要使用该软件包或在 flutter_firebase_ui 存储库中创建问题以使其与最新的 firebase 软件包兼容,则需要限制为与该软件包兼容的版本。 androidx 问题已更改为 0.8.0【参考方案2】:只需在您的 pubspec 中添加这行代码
dependency_overrides:
firebase_core: 0.3.0
这将覆盖依赖,你可以使用任何你想要的版本。 您可能需要将其更改为软件包的版本。
我的代码示例:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0
file_picker: ^3.0.0
hive: ^2.0.0
hive_flutter: ^1.0.0
dependency_overrides:
path_provider: 2.0.1
【讨论】:
【参考方案3】:您需要将您的项目迁移到 AndroidX 。有关详细步骤,请参阅以下文档...
Migrate to Android X
否则,只需将 firebase_auth 版本降级为无需 androidX 迁移即可正常工作的旧版本
【讨论】:
因为 flutter_firebase_ui 0.0.13 依赖于 firebase_auth ^0.6.2+1 并且没有任何版本的 flutter_firebase_ui 匹配 >0.0.13 来自flutter.dev/docs/development/packages-and-plugins/… 尝试使用这些版本: android_alarm_manager: 0.2.3 android_intent: 0.2.1 电池: 0.3.0 相机: 0.2.9+1 cloud_firestore: 0.8.2+3 cloud_functions: 0.0.5 连接性: 0.3 .2 device_info:0.3.0 firebase_admob:0.7.0 firebase_analytics:1.1.0 firebase_auth:0.7.0 firebase_core:0.2.5+1 firebase_database:1.0.5 firebase_dynamic_links:0.1.1 firebase_messaging:2.1.0 firebase_ml_vision:0.2.1 firebase_performance :0.0.8+1 firebase_remote_config:0.0.6+1 firebase_storage:1.0.4 google_maps_flutter:0.1.0 google_sign_in:3.2.4 image_picker: 0.4.12+1 local_auth: 0.3.1 package_info: 0.3.2+1 path_provider: 0.4.1 quick_actions: 0.2.2 sensors: 0.3.5 share: 0.5.3 shared_preferences: 0.4 .3 url_launcher:4.1.0+1 video_player:0.9.0 webview_flutter:0.2.0【参考方案4】:查阅此链接https://github.com/FirebaseExtended/flutterfire/issues/4650,将你项目的版本替换为对应的版本
【讨论】:
【参考方案5】:尝试通过省略导致此类问题的包的版本名称来运行 pub get
firebase_storage:
这会让你解决问题。
【讨论】:
【参考方案6】:您可以将您的 google 登录版本降级为稳定版本,例如
google_sign_in:^4.5.9
要知道最稳定的一个去
https://pub.dev/packages/google_sign_in/versions
并选择 beta 版本之前的最新版本 pubspec.yaml 文件
环境: sdk: ">=2.12.0
依赖: 扑: sdk:颤动
cupertino_icons: ^1.0.2 得到:^4.2.4 google_sign_in:^4.5.9 firebase_core:“0.7.0” firebase_auth: "^0.20.1"
【讨论】:
以上是关于flutter firebase 版本解决失败的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 版本解决失败 firebase_auth ^1.4.1 和 http ^0.12.2
Flutter:Xcode 中的 firebase_admob 构建失败
Flutter firebase 版本冲突 firebase 消息传递
flutter web TypeError: dart.global.firebase.storage 不是函数
Firebase Query 不适用于 Flutter,如何解决?
Flutter 和 Firebase:任务 ':firebase_auth:compileDebugJavaWithJavac' 执行失败