I'm trying to add shared_preferences
to a Flutter project. By default, version 0.5.7+3
is downloaded which isn't null safe.
Adding the latest version, 2.0.15, gets the following error:
Running "flutter pub get" in platform...
Because shared_preferences >=2.0.10 depends on shared_preferences_windows ^2.0.1 which depends on path_provider_platform_interface ^2.0.0, shared_preferences >=2.0.10 requires path_provider_platform_interface ^2.0.0.
And because path_provider_platform_interface >=2.0.0 depends on platform ^3.0.0, shared_preferences >=2.0.10 requires platform ^3.0.0.
So, because platform depends on shared_preferences ^2.0.15 and platform is 1.0.0+1, version solving failed.
pub get failed (1; So, because platform depends on shared_preferences ^2.0.15 and platform is 1.0.0+1, version solving failed.)
exit code 1
The platform version is actually the version number in the pubspec.yaml
. Changing the version number to 3.0.0
downloads 2.0.15
of shared_preferences
but then fails on running:
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
lib/main.dart:1
Building with Flutter multidex support enabled.
: Error: Error when reading 'lib/platform.dart': No such file or directory
../…/src/method_channel_path_provider.dart:7
import 'package:platform/platform.dart';
^
: Error: Error when reading 'lib/platform.dart': No such file or directory
../…/interface/common.dart:8
import 'package:platform/platform.dart';
pubspec.yaml is:
name: platform
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: '>=2.7.0 <3.3.3'
dependencies:
flutter:
sdk: flutter
firebase_core:
firebase_auth:
google_sign_in:
firebase_analytics:
font_awesome_flutter:
provider:
shared_preferences:
config:
path: config
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
flutter:
assets:
- assets/images/
uses-material-design: true
How can I add a null safe version of shared_preferences
to my project?
Why is the pubspec.yaml
version number being read as platform version?