
Flutter ✕ Isar ✕ Riverpod の依存地獄を 10 分で抜けるメモ
2025年06月05日
Isarflutter
Flutter ✕ Isar ✕ Riverpod の依存地獄を 10 分で抜けるメモ
TL;DR
- Riverpod を 2.4 系に固定
android/build.gradle
を Groovy に戻し、- namespace フォールバックスクリプトを 1 ブロック貼る
flutter pub get && flutter run
でビルド通過
1. pubspec.yaml
― Riverpod を 2.4 系にダウングレード
dependencies:
flutter_riverpod: ^2.4.0 # ← ここがポイント
riverpod_annotation: ^2.4.0
isar: ^3.1.0+1
isar_flutter_libs: ^3.1.0+1
dev_dependencies:
build_runner: ^2.4.8
riverpod_generator: ^2.4.4 # 2.4.x は analyzer 5 系
isar_generator: ^3.1.0+1
riverpod_lint: ^2.3.1
Isar 3.1 系 が要求する analyzer < 6
と揃うので依存競合が消えます。
2. android/build.gradle
を Groovy ファイルに戻す
mv android/build.gradle.kts android/build.gradle
Flutter の標準テンプレは今も Groovy。迷ったら素直に合わせた方が楽。
3. namespace を後付けするフォールバックスクリプト
android/build.gradle
(プロジェクトレベル)末尾にペタッ👇
// ==== namespace fallback for AGP 8+ =====================
subprojects {
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
if (!namespace) {
// 例: dev.isar.isar_flutter_libs
namespace project.group.toString()
}
}
}
}
}
// ========================================================
- AGP 8 から library モジュールに namespace 必須
isar_flutter_libs
が未対応なのでビルドをここで救済する
4. キャッシュを洗ってビルド
flutter clean
flutter pub get
flutter run # or flutter build apk
動作確認チェックリスト ✅
項目 | 期待値 |
---|---|
flutter pub get |
依存解決 OK 😎 |
flutter pub run build_runner build |
コード生成成功 |
実機 / エミュレータ起動 | 起動& Isar の CRUD が動く |
5. 公式修正が来たら
flutter pub upgrade isar_flutter_libs
- 上記 namespace ブロックを削除
- Groovy ⇆ Kotlin DSL は好みでどうぞ
まとめ
before | after |
---|---|
Riverpod 2.6 + Isar 3.1 → analyzer 衝突 |
Riverpod 2.4 へ戻して解決 |
AGP 8 → Namespace not specified |
Groovy スクリプトで namespace 付与 |
.gradle.kts で DSL エラー |
.gradle に戻して即解決 |