【お知らせ】みんプロ式Flutter講座は2026年4月末をもって新規販売を終了いたしました。詳しくはこちら →

[Flutter/Dart]2021年7月末時点では「json_serializable」と「json_annotation」の最新版同士ではコンフリクトが発生します

このページには広告が含まれる場合があります。

 

(注)当該事象は、現時点では解消しています。

jsonデータとDartのモデルクラスを変換させる際に使うパッケージである「json_serializable」と「json_annotation」ですが、2021年7月末時点で両パッケージを最新版同士(json_serializableは5.0.0、json_annotationは4.1.0)を使おうとすると

Because every version of flutter_test from sdk depends on meta 1.3.0 and json_annotation >=4.1.0 depends on meta ^1.4.0, flutter_test from sdk is incompatible with json_annotation >=4.1.0.
So, because news_feed depends on both json_annotation ^4.1.0 and flutter_test any from sdk, version solving failed.
pub get failed (1; So, because news_feed depends on both json_annotation ^4.1.0 and flutter_test any from sdk, version solving failed.)
Process finished with exit code 1

という謎のエラー発生します。

これは

FlutterのSDKに入っている「flutter_test」パッケージが「meta」というパッケージの1.3.0を使っている(依存している)のに対し、「json_annotation」は「meta」パッケージの1.4.0を使っているので、両者のパッケージの整合性が取れないのでダメ

という意味ですが、「flutter_test」はFlutterのSDKに組み込まれているパッケージで、こちらではバージョンの変更ができないので、「json_annotation」の方を最新版の1つ手前

4.1.0 => 4.0.1

にしてやると、今度はこんなエラーが出てしまいます。

Because json_serializable >=5.0.0 depends on json_annotation >=4.1.0 <4.2.0 which depends on meta ^1.4.0, json_serializable >=5.0.0 requires meta ^1.4.0.
And because every version of flutter_test from sdk depends on meta 1.3.0, json_serializable >=5.0.0 is incompatible with flutter_test from sdk.
So, because news_feed depends on both flutter_test any from sdk and json_serializable ^5.0.0, version solving failed.
pub get failed (1; So, because news_feed depends on both flutter_test any from sdk and json_serializable ^5.0.0, version solving failed.)

これは、

「json_serializable」のバージョン5.0.0は、「json_annotation」のバージョン4.1.0以上でないと使えない

と言っているのですが、「json_annotation」は4.0.1でないとダメなので、仕方がないので今度は「json_serializable」の方も最新版の1つ手前

5.0.0 => 4.1.3

にしてやると、めでたくコンフリクトが無事解消します。

これは、もとを辿ればFlutterのSDKに起因する話ですので、FlutterのSDKの安定版がバージョンアップされた暁には、解消される可能性が高いと思われます。

「json_serializable」のパッケージでもissueが上がっていました。

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

GAMBO(願望) 願望実現・目標達成の
17秒 / 68秒ワーク
GAMBO(願望) 引き寄せ難民だったぼくの挫折経験から生まれた誰でもできる願望実現サポートアプリ。かの有名な17秒/68秒ワークを独自の視覚化メソッドで簡単実践。
App Store / Google Play 詳しく見る →
Meiso(瞑想) 鐘音と自然音で
5分からのマインドフルネス
Meiso(瞑想) 初心者でも“迷わず続けられる”ことにこだわった、完全無料の瞑想アプリ。画面のガイドに従うだけで呼吸のリズムが整い、最短5分から瞑想を実践できます。
App Store / Google Play 詳しく見る →
小学生からの英検®単語 A ふりがな・音声付き
英検単語1日5分トレーニング
小学生からの英検®単語 ありそうでなかった!ふりがな付き英検®単語トレーニングアプリ!1日たった5分!スキマ時間を活用して、英検®頻出単語を効率的に習得。お子様の一人学習にも安心設計。
App Store / Google Play 詳しく見る →
オボエルンジャー レトロゲームで
nバック脳トレ
オボエルンジャー 科学的脳力開発法「Nバック課題」をファミコン風8bitレトロゲームにアレンジした新感覚脳トレアプリ。記憶力・感情コントロール力・集中力の向上に。
App Store / Google Play 詳しく見る →
ゴイコイコイ 超高速フラッシュカードで
語彙習得
ゴイコイコイ 日常語1400語を視覚的に学べる、高速読み上げフラッシュカード式の語彙トレーニングアプリ。知育教室で行われるフラッシュカード学習を、家庭で“手軽に・安価に・正確に”再現。
App Store / Google Play 詳しく見る →

TOP