Flutter 库冲突问题解决
2021-10-12 本文已影响0人
a_simple_coder
从Git拉Flutter项目到本地后,在Android Studio中执行:
flutter pub get
报 : pub get failed (1; So, because XXXX(项目名) depends on both flutter_cache_manager 1.2.2 and path_provider ^1.6.24, version solving failed.)
版本求解失败:
从上图可知:requires SDK version >=2.10.0-0.0 <2.12.0
,而我本地 Dart SDKversion 却是2.14.0(我的Flutter是2.5.2,2.0以下没有这个问题),表明该library
与本地Dart版本不兼容,如果我们不想升级本地SDK环境,那么就可以按照以下步骤来进行正确版本选择:
第一步:在pubspec.yaml文件中找到这个依赖,
dependencies
flutter_cache_manager: 1.2.2
path_provider: ^1.6.24
这时,我们将版本换位any,
dependencies
flutter_cache_manager: any
path_provider: any
第二步:命令执行 flutter pub get
第三步:打开pubspec.lock
,这个文件是生成我们依赖的所有清单文件,可以看到,
flutter_cache_manager:
dependency: "direct main"
description:
name: flutter_cache_manager
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.4.2"
path_provider:
dependency: "direct main"
description:
name: path_provider
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.6.9"
版本号变为了1.4.2
和1.6.9
,这就是实际引用的版本号,
第四部:将1.4.2
和1.6.9
替换刚才设置any的位置,(修改其中一个即可。可以升flutter_cache_manager
版本 或降path_provider
版本,我这里是升flutter_cache_manager
版本)
dependencies
# flutter_cache_manager: 1.2.2
# path_provider: ^1.6.24
flutter_cache_manager: 1.4.2
path_provider: ^1.6.24
这样就完美解决了这个问题。