環境構築に苦戦した。
VSCode からプロジェクトを作るとエラーに遭遇、CLI からプロジェクトを作成した。
概要
Riverpod のチュートリアルをやる。
環境
- Dart v2.15.1
- Flutter v2.8.1
- riverpod v1.0.3
- flutter_riverpod v1.0.3
実践
CLI
Flutter プロジェクト作成
flutter create hello_world cd hello_world
pubsec.yaml を編集し、「flutter_riverpod: ^1.0.3」を追加。
vi pubspec.yaml
environment:
sdk: ">=2.12.0 <3.0.0"
flutter: ">=2.0.0"
dependencies:
flutter:
sdk: flutter
flutter_riverpod: ^1.0.3
ライブラリを追加。
flutter pub get
main.dart を公式サンプルに修正。
vi lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
// We create a "provider", which will store a value (here "Hello world").
// By using a provider, this allows us to mock/override the value exposed.
final helloWorldProvider = Provider((_) => 'Hello world');
void main() {
runApp(
// For widgets to be able to read providers, we need to wrap the entire
// application in a "ProviderScope" widget.
// This is where the state of our providers will be stored.
ProviderScope(
child: MyApp(),
),
);
}
// Extend ConsumerWidget instead of StatelessWidget, which is exposed by Riverpod
class MyApp extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final String value = ref.watch(helloWorldProvider);
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Example')),
body: Center(
child: Text(value),
),
),
);
}
}
アプリを実行。
flutter run
以下のように Hello World が出力。
コードはこちら。
エラー
Because riverpod depends on flutter_riverpod ^1.0.3 which depends on riverpod 1.0.3, riverpod 1.0.3 is required.So, because riverpod is 1.0.0+1, version solving failed.pub get failed (1; So, because riverpod is 1.0.0+1, version solving failed.)
VSCode で Flutter プロジェクトを作成するとエラーになる。。
上記の CLI からプロジェクトを作成後( flutter create hello_world )に、VSCode で読み込むのがいいかと。
コメント