You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目fstore依赖版本冲突问题求助

解决Flutter项目fstore的intl依赖冲突问题

冲突场景

场景1:初始版本冲突

项目指定intl: 0.17.0,但flutter_localizations(来自SDK)依赖intl 0.18.0,导致版本解析失败,报错如下:

Resolving dependencies...
Because fstore depends on flutter_localizations from sdk which depends on intl 0.18.0, intl 0.18.0 is required.
So, because fstore depends on intl 0.17.0, version solving failed.
Process finished with exit code 1

场景2:修改intl版本后的冲突

将intl版本改为0.18.0后,依赖的git版本charts_flutter要求intl >=0.15.2 <0.18.0,再次导致版本解析失败,报错如下:

Resolving dependencies...
Because every version of charts_flutter from git depends on intl >=0.15.2 <0.18.0 and fstore depends on intl 0.18.0, charts_flutter from git is forbidden.
So, because fstore depends on charts_flutter from git, version solving failed.
Process finished with exit code 1

项目配置信息

pubspec.yaml核心内容

name: fstore
publish_to: "none"
description: Mobile commerce app by Flutter

version: 1.0.5+8

environment:
  sdk: ">=2.17.6 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  inspireui: 1.1.8

  # Base
  intl: 0.17.0
  # ... 其他依赖省略
  ### Flutter 3 fix warning
  charts_flutter:
    git:
      url: https://github.com/inspireui/charts.git
      path: charts_flutter
  # ... 其他依赖省略

Flutter Doctor检测结果

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.3.1 22E261 darwin-arm64, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for web
[✓] Android Studio (version 2022.3)
[✓] Connected device (2 available)
[✓] Network resources

• No issues found!

可行解决方案

方案1:修改charts_flutter的依赖约束(推荐)

  1. Fork目标仓库到自己的账号下
  2. 进入fork后的仓库,修改charts_flutter/pubspec.yaml中的intl依赖为:
    intl: ^0.15.2
    
    或更宽松的范围>=0.15.2 <0.19.0,确保兼容intl 0.18.0
  3. 在项目的pubspec.yaml中,将charts_flutter的依赖指向自己的fork仓库:
    charts_flutter:
      git:
        url: https://github.com/你的账号名/charts.git
        path: charts_flutter
    
  4. 执行flutter pub get完成依赖安装

方案2:使用dependency_overrides强制统一版本

在项目pubspec.yaml的末尾添加以下配置,强制所有依赖使用intl 0.18.0:

dependency_overrides:
  intl: 0.18.0

执行flutter pub get后,需全面测试charts_flutter相关功能,确保无兼容性问题。

方案3:降级Flutter SDK版本

降级到flutter_localizations依赖intl 0.17.0的Flutter版本(如3.3.x系列):

flutter downgrade 3.3.10

此方法会限制SDK版本,不利于后续项目升级,仅作为临时解决方案。

内容的提问来源于stack exchange,提问作者Kanwarpreet Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:17:51