解决依赖关系:pub 已完成,退出代码为 1
Resolving dependencies: pub finished with exit code 1
我有这个依赖冲突:
$ flutter pub upgrade --dry-run
Resolving dependencies...
Because image >=2.1.14 <3.0.0-nullsafety.0 depends on archive ^2.0.0 and image >=2.0.4 <2.1.14 depends on archive >=1.0.16 <3.0.0, image >=2.0.4 <3.0.0-nullsafety.0 requires archive >=1.0.16 <3.0.0.
And because flutter_launcher_icons >=0.7.1 <0.9.0 depends on image ^2.1.1 and every version of flutter_driver from sdk depends on archive 3.1.2, flutter_launcher_icons >=0.7.1 <0.9.0 is incompatible with flutter_driver from sdk.
So, because gallery depends on both flutter_driver any from sdk and flutter_launcher_icons ^0.8.1, version solving failed.
pub finished with exit code 1
版本
$ dart --version
Dart SDK version: 2.13.0-222.0.dev (dev) (Fri Apr 9 12:15:17 2021 -0700) on "macos_x64"
$ flutter --version
Flutter 2.1.0-13.0.pre.574 • channel master • https://github.com/flutter/flutter
Framework • revision 02efffc134 (2 days ago) • 2021-04-10 03:49:01 -0400
Engine • revision 8863afff16
Tools • Dart 2.13.0 (build 2.13.0-222.0.dev)
pubspec.yaml
name: gallery
description: A resource to help developers evaluate and use Flutter.
repository: https://github.com/flutter/gallery
version: 2.8.1+020801
environment:
sdk: ">=2.6.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
intl: ">=0.16.1 <=0.17.0"
flutter_localized_locales: ">=1.1.1 <=2.0.0"
cupertino_icons: ^1.0.0
rally_assets: ^2.0.0
meta: ^1.1.8
scoped_model: ^1.1.0
shrine_images: ^1.1.2
url_launcher: ^5.6.0
vector_math: ^2.0.8
collection: ^1.14.0
flutter_gallery_assets: ^0.2.6
package_info: ^0.4.0
google_fonts: ^1.1.2
flutter_staggered_grid_view: ^0.3.3
animations: ^1.1.2
provider: ^4.3.2
adaptive_breakpoints: ^0.0.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
test:
path:
args:
grinder: ^0.8.0
pedantic: ^1.9.0
string_scanner: ^1.0.5
web_benchmarks: ^0.0.3
flutter_launcher_icons: "^0.8.1"
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/images/logo/roof.png"
flutter:
assets:
- packages/flutter_gallery_assets/assets/studies/shrine_card_dark.png
- ...
...
尝试过
我改了:
flutter_launcher_icons: "^0.8.1"
至:
flutter_launcher_icons: "^0.9.0"
但也无济于事。
问题
我不知道如何解决冲突。有没有我可能遗漏的解决此类冲突的标准方法?
您可以运行在您的项目终端
flutter pub upgrade --major-versions
因为你的项目依赖于flutter_launcher_icons
和flutter_driver
并且这两个包都依赖于具有不同版本的第三个包 archive
。
flutter_launcher_icons: "^0.8.1" 依赖于 archive: ">=2.0.4 <3.0.0-nullsafety.0"
而来自 sdk 的 flutter_driver
依赖于 archive: 3.1.2
, 所以存在解析版本冲突 archive
包。
因此,要解决此冲突,您必须在项目的 pubspec.yaml 文件中添加手动条目。
dependency_overrides:
archive: 3.1.2 //any version you want for resolution.
要了解如何 flutter 解决依赖关系,请查看下面的 link。
https://medium.com/cashify-engineering/flutter-dependencies-resolution-2faecdbfce03
此 link 还描述了解决此类依赖冲突的标准方法。
我有这个依赖冲突:
$ flutter pub upgrade --dry-run
Resolving dependencies...
Because image >=2.1.14 <3.0.0-nullsafety.0 depends on archive ^2.0.0 and image >=2.0.4 <2.1.14 depends on archive >=1.0.16 <3.0.0, image >=2.0.4 <3.0.0-nullsafety.0 requires archive >=1.0.16 <3.0.0.
And because flutter_launcher_icons >=0.7.1 <0.9.0 depends on image ^2.1.1 and every version of flutter_driver from sdk depends on archive 3.1.2, flutter_launcher_icons >=0.7.1 <0.9.0 is incompatible with flutter_driver from sdk.
So, because gallery depends on both flutter_driver any from sdk and flutter_launcher_icons ^0.8.1, version solving failed.
pub finished with exit code 1
版本
$ dart --version
Dart SDK version: 2.13.0-222.0.dev (dev) (Fri Apr 9 12:15:17 2021 -0700) on "macos_x64"
$ flutter --version
Flutter 2.1.0-13.0.pre.574 • channel master • https://github.com/flutter/flutter
Framework • revision 02efffc134 (2 days ago) • 2021-04-10 03:49:01 -0400
Engine • revision 8863afff16
Tools • Dart 2.13.0 (build 2.13.0-222.0.dev)
pubspec.yaml
name: gallery
description: A resource to help developers evaluate and use Flutter.
repository: https://github.com/flutter/gallery
version: 2.8.1+020801
environment:
sdk: ">=2.6.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
intl: ">=0.16.1 <=0.17.0"
flutter_localized_locales: ">=1.1.1 <=2.0.0"
cupertino_icons: ^1.0.0
rally_assets: ^2.0.0
meta: ^1.1.8
scoped_model: ^1.1.0
shrine_images: ^1.1.2
url_launcher: ^5.6.0
vector_math: ^2.0.8
collection: ^1.14.0
flutter_gallery_assets: ^0.2.6
package_info: ^0.4.0
google_fonts: ^1.1.2
flutter_staggered_grid_view: ^0.3.3
animations: ^1.1.2
provider: ^4.3.2
adaptive_breakpoints: ^0.0.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
test:
path:
args:
grinder: ^0.8.0
pedantic: ^1.9.0
string_scanner: ^1.0.5
web_benchmarks: ^0.0.3
flutter_launcher_icons: "^0.8.1"
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/images/logo/roof.png"
flutter:
assets:
- packages/flutter_gallery_assets/assets/studies/shrine_card_dark.png
- ...
...
尝试过
我改了:
flutter_launcher_icons: "^0.8.1"
至:
flutter_launcher_icons: "^0.9.0"
但也无济于事。
问题
我不知道如何解决冲突。有没有我可能遗漏的解决此类冲突的标准方法?
您可以运行在您的项目终端
flutter pub upgrade --major-versions
因为你的项目依赖于flutter_launcher_icons
和flutter_driver
并且这两个包都依赖于具有不同版本的第三个包 archive
。
flutter_launcher_icons: "^0.8.1" 依赖于 archive: ">=2.0.4 <3.0.0-nullsafety.0"
而来自 sdk 的 flutter_driver
依赖于 archive: 3.1.2
, 所以存在解析版本冲突 archive
包。
因此,要解决此冲突,您必须在项目的 pubspec.yaml 文件中添加手动条目。
dependency_overrides:
archive: 3.1.2 //any version you want for resolution.
要了解如何 flutter 解决依赖关系,请查看下面的 link。 https://medium.com/cashify-engineering/flutter-dependencies-resolution-2faecdbfce03
此 link 还描述了解决此类依赖冲突的标准方法。