Flutter/wakelock_plus: Is there a way to resolve this dependency conflict?

I’m working on a Flutter app and I want to install the wakelock_plus plugin: https://pub.dev/packages/wakelock_plus

Here’s the output when I run flutter pub add wakelock_plus:


The current Dart SDK version is 2.19.4.

Because flutter_html >=2.0.0-nullsafety.1 <3.0.0-alpha.1 depends on flutter_svg >=0.22.0 <1.0.0 which depends on xml ^5.0.0, flutter_html >=2.0.0-nullsafety.1 <3.0.0-alpha.1 requires xml ^5.0.0.

And because dbus >=0.7.4 depends on xml ^6.1.0, flutter_html >=2.0.0-nullsafety.1 <3.0.0-alpha.1 is incompatible with dbus >=0.7.4.

And because wakelock_plus <1.2.0 depends on dbus ^0.7.8 and wakelock_plus >=1.2.0 requires SDK version >=3.3.0 <4.0.0, flutter_html >=2.0.0-nullsafety.1 <3.0.0-alpha.1 is incompatible with wakelock_plus.

So, because APP_NAME depends on both flutter_html ^2.2.1 and wakelock_plus any, version solving failed.

pub finished with exit code 65


I’ve been trying to decipher this for a few hours and I can’t figure out if there’s a way around the dependency conflict.

Anyone have a suggestion?

1

Run flutter pub deps on the console to get all your dependencies version recursively printed as a treeify map:

(here is a sample output)

Dart SDK 2.19.5
Flutter SDK 3.7.8
YourAppName version
├── packageA 0.0.1
│   ├── flutter...
│   └── packageB 1.0.0
├── packageB 1.0.2
│   └── flutter...
├── packageC 2.0.3
│   ├── flutter...
│   └── packageB 1.3.0
├── packageD 0.0.1
│   ├── flutter...
│   └── packageB 1.0.3
└── ...

Then search the name of conflict package one by one on the website https://pub.dev to confirm that if there is a newer/older version than yours. So you can try to upgrade/downgrade the version gradually on pubspec.yaml and rerun flutter pub get to check if your execution is successful (error message shows less than before).
The worst situation is you even have to upgrade the dart version to solve the problem.

Repeat above operations again and again until there is no error message shows (aiming to make sure that all the version condition satisfies all the conflict packages’ version requirement). The key is to keep the same package in your project and also the dependencies in use, they all share the same version meanwhile.

The most useful way to use a specific package version forcedly to against using the highest one by Dart is as follows (for example):

# ./pubspec.yaml

environment:
  sdk: ^2.19.0 #3.0.0

dependencies:
  packageA: 0.0.1
  packageB: 1.0.2
  packageC:
    git:
      url: ssh://git@../packageC.git #packageB: 2.0.3
  packageD:
    path: ./pods/packageD/ #packageB: 1.0.3

dependency_overrides:
# Maybe the latest version is 1.3.0.
# The packageB is required by the packageC you claimed
# on pubspec.yaml (packageB >= 1.0.2), but there is a critical
# bug on 1.3.0 or the code changes a lot that causes
# more time cost in adaption on your project.
  packageB: 1.0.2
  

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật