Flutter镜像版本问题

标签 flutter flutter-test

我刚刚升级了我的 flutter 版本,现在当我在 pubsec.yml 文件中获取包时遇到以下问题:

Because every version of flutter_test from sdk depends on image 2.1.4 and Instant_Feedback depends on image ^2.1.9, flutter_test from sdk is forbidden.

所以,因为 Instant_Feedback 依赖于 sdk 中的 flutter_test any, 版本解决失败。 pub 失败(1;所以,因为 Instant_Feedback依赖于sdk中的flutter_test任何版本,解决 失败。)

我的 pubsec.yml 文件

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.0+2
  shared_preferences: ^0.5.4+8
  firebase_messaging: ^6.0.3
  flutter_crashlytics: ^1.0.0
  firebase_core: ^0.4.2+1
  cupertino_icons: ^0.1.3
  device_calendar: ^1.0.0+2
  cloud_firestore: ^0.12.11
  auto_size_text: ^2.1.0
  flutter_expandable_menu: ^0.0.1
  webview_flutter: ^0.3.17
  flutter_spinkit: ^4.1.1+1
  get_it: 2.1.0
  bloc: ^0.15.0
  flutter_bloc: 0.21.0
  equatable: 0.5.1
  rflutter_alert: ^1.0.3
  expandable: ^3.0.1
  connectivity: ^0.4.6
  firebase_auth: ^0.15.1
  flutter_email_sender: ^2.2.1
  mockito: 4.1.1
  flutter_secure_storage: ^3.3.1+1
  image_picker: ^0.6.2+2
  async: any
  image: ^2.1.10
  image_crop: ^0.3.1
  flutter_cache_manager: ^1.1.3
  circular_profile_avatar: ^1.0.3
  package_info: ^0.4.0+12
  flutter_local_notifications: ^0.8.4+3
  flutter_webview_plugin: ^0.3.10
  url_launcher: ^5.2.7
  flutter_localizations:
    sdk: flutter
  flutter_cupertino_localizations: ^1.0.1


dev_dependencies:
  flutter_driver:
    sdk: flutter
  test: any

  ozzie: 2.0.1
  flutter_test:
    sdk: flutter
flutter:
  uses-material-design: true
  assets:
    - lib/app/assets/images/
    - lib/app/assets/flags/
    - lang/en.json
    - lang/de.json

最佳答案

Because every version of flutter_test from sdk depends on image 2.1.4 and Instant_Feedback depends on image ^2.1.9, flutter_test from sdk is forbidden.

我也遇到了同样的问题。根据该图片库的具体版本,找不到flutter_test的具体原因。也许这是 flutter 方面的问题。因此,这里有一些解决方案:

  1. 注释掉 flutter_test dev_dependency。

    dev_dependency: # flutter 测试: # sdk: flutter

  2. 设置所需的版本。

    我将镜像包版本设置为 2.1.4(按照错误消息中的要求),而不是 2.1.12

    图片:^2.1.4

  3. 如果多个软件包版本彼此不兼容,并且您不知道它们的确切兼容版本,则可以通过将两个冲突的依赖项设置为 any 来找到它,例如

    flutter_crashlytics:任何 firebase_core:任意

    这将自动找出兼容的软件包版本。在 pubspec.lock 文件中检查这些新的兼容版本,该文件将通过运行 flutter package get 自动生成。

    # 由 pub 生成 # 请参阅 https://www.dartlang.org/tools/pub/glossary#lockfile 套餐: flutter_crashlytics: ... 版本:“1.0.0” firebase_核心: ... 版本:“0.4.2+1”

    any 替换为正确的版本。

    flutter_crashlytics:1.0.0 firebase_core:0.4.2+1

注意:您不应该将版本保留为 any

关于Flutter镜像版本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59512007/

相关文章:

unit-testing - Flutter Widget 测试无法正确模拟不同的屏幕尺寸

firebase - Flutter:取消 Google 登录流程时出现平台异常

flutter - 如何正确使用 `flutter --no-build` (或在仅更改 Dart 代码的情况下加快构建速度)?

flutter - 在 flutter 单元测试中找到一个 Radio 小部件

dart - Mockito - 在空安全迁移后 stub 一个方法

flutter - 当我在Firestore中更新数据时,更新数据功能不起作用?

dart - 创建具有网络图像和波纹效果的圆形按钮

flutter - 如何在 Flutter 中将图像和文件上传到服务器?

flutter - 小部件测试以断言文本小部件样式

flutter - 谁能说出Flutter中 “flutter_bloc”和 “bloc”软件包的区别