Conflicting dependencies
path_provider
[x] Convert library to nnbd
[ ] Waiting on https://github.com/flutter/plugins/pull/3460
Conflicting dependencies
path_provider
@TheMisir path_provider: ^2.0.0-nullsafety is online. Can't wait for hive_flutter nnbd, big thanks for this great project!
@tsinis thanks, I'll work on this tonight
Any thoughts?
[hive_flutter] flutter pub get
Running "flutter pub get" in hive_flutter...
The current Dart SDK version is 2.12.0-133.7.beta.
Because path_provider_windows >=0.1.0-nullsafety <0.1.0-nullsafety.1 depends on win32 ^2.0.0-nullsafety.8 and path_provider >=2.0.0-nullsafety depends on path_provider_windows ^0.1.0-nullsafety, path_provider >=2.0.0-nullsafety requires win32 ^2.0.0-nullsafety.8 or path_provider_windows ^0.1.0-nullsafety.1.
And because path_provider_windows >=0.1.0-nullsafety.2 requires SDK version >=2.12.0-259.8.beta <3.0.0 and path_provider_windows >=0.1.0-nullsafety.1 <0.1.0-nullsafety.2 depends on win32 ^2.0.0-nullsafety.9, path_provider >=2.0.0-nullsafety requires win32 ^2.0.0-nullsafety.8.
So, because win32 >=2.0.0-nullsafety.8 requires SDK version >=2.12.0-224 <3.0.0 and hive_flutter depends on path_provider ^2.0.0-nullsafety, version solving failed.
pub get failed (1; So, because win32 >=2.0.0-nullsafety.8 requires SDK version >=2.12.0-224 <3.0.0 and hive_flutter depends on path_provider ^2.0.0-nullsafety, version solving failed.)
exit code 1
pubspec.yaml
environment:
sdk: '>=2.12.0-0 <3.0.0'
dependencies:
flutter:
sdk: flutter
hive: ^1.6.0-nullsafety.0
path_provider: ^2.0.0-nullsafety
path: ^1.6.0
I think it requires sdk min version 2.12.0-224 which is currently in beta channel of dart sdk.
I think it requires sdk min version
2.12.0-224which is currently inbetachannel of dart sdk.
@TheMisir yeah, I'm on Flutter's master branch and the version of Dart in my flutter doctor is:
Dart version 2.13.0 (build 2.13.0-0.0.dev)
So I believe you can just point users out in README, that there is such a restriction in terms of the Dart version. Those who use null-safety in development, are using dev or master channel, so I believe it won't be a big problem after all.
But the problem is that dev/master channels are usually less stable than beta and stable channels and not considered for the production apps. So I'm not sure if publishing hive_flutter with less-stable versions of dependencies is good idea. What do you think about that?
We might also remove path_provider dependency temporarily and let users to explicitly define data directory during initialization until path_provider uses at least beta channel of the SDK.
But the problem is that dev/master channels are usually less stable than beta and stable channels and not considered for the production apps. So I'm not sure if publishing hive_flutter with less-stable versions of dependencies is good idea. What do you think about that?
We might also remove path_provider dependency temporarily and let users to explicitly define data directory during initialization until path_provider uses at least beta channel of the SDK.
Yeah, that's for sure, but you can just leave the decision on developers. I prefer the first solution since we are already taking those consequences, sitting on unstable branches :D But it's up on you.
Agreed, people usually choose the channel purposefully as well as any prerelease version of a plugin if it brings value to them.
Releasing a null-safety prerelease version helps those using unstable branches and also tests the plugin against them, actually.
Once Flutter releases null safety in its stable branch, plugins will bump their null-safety prereleases to releases relatively fast and then an upgrade to stable releases is possible.
@TheMisir Since Flutter nullsafety went into the beta channel, any chances of a prerelease?
It will be great if hive_flutter can be looked at for null safety as hive is such a popular package.
I believe https://github.com/hivedb/hive/pull/565 belongs here. Didn't tried out to use it as git dependency yet though.
I'm currently doing last checks and will publish nnbd version soon.
Closed by 340e9b4bea1d8e7991efb2b7aadac245fd48ad5f
Most helpful comment
Agreed, people usually choose the channel purposefully as well as any prerelease version of a plugin if it brings value to them.
Releasing a null-safety prerelease version helps those using unstable branches and also tests the plugin against them, actually.
Once Flutter releases null safety in its stable branch, plugins will bump their null-safety prereleases to releases relatively fast and then an upgrade to stable releases is possible.