[Flutter]Dart Error: error: import of dart:mirrors is not supported in the current Dart runtimeの対処法

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

 

これは結構トラップ的な話なのですが、Flutterのアプリを起動させると、こんなエラーが出て画面が固まって動かなくなってしまうことがあります。

E/flutter (23085): [ERROR:flutter/shell/common/shell.cc(199)] Dart Error: error: import of dart:mirrors is not supported in the current Dart runtime

blank

この状態でハマってしまった場合の対処法です。

(以下のStackOverFlowを参考にさせて頂きました)

 

JsonSerializableパッケージを「dev_dependencies」に移動させれば解決

これは、結論から言うと誰が悪さをしているのかというと、JsonをDartのクラスに変換してくれる「JsonSerializable」パッケージなんです。

このパッケージを、公式では「pubspec.yaml」ファイルの「dependencies」セクションに記述するよう記載があるのですが、これをやってしまうとダメな場合があるようなんです。

blank

I assume that you want to use json_serializable for your own sourceCode creation. If this is the case you should have json_serializable: ^2.0.0 under the dev_dependencies.

Explanation

json_serializable does use dartlang/source_gen internally. source_gen in turn does reference dart:mirrors, which is not supported in flutter (as told in this post).

So long story in short: – through removing the dependency on json_serializable from your “build” dependencies you remove the dependency on mirrors which is stopping your flutterBuild.

つまり、「JsonSerializable」パッケージを使って自分のプロジェクトでコード生成を行っているような場合は、公式に記載の「dependencies」ではなくて「dev_dependencies」セクションに記述する必要があるようなんです。

(JsonSerializableが内部的に「source_gen」というコード生成パッケージを参照していて、その「source_gen」が「dart:mirrors」というパッケージを参照しているのだが、これがFlutterではサポートされていないためにエラーになったとのこと)

ですので、

1)「JsonSerializable」パッケージを「pubspec.yaml」ファイルの「dependencies」から「dev_dependencies」セクションに移動

Dependencies fall into one of two types. Regular dependencies are listed under dependencies:—these are packages that anyone using your package will also need. Dependencies that are only needed in the development phase of the package itself are listed under dev_dependencies.

blank

2)「JsonSerializable」を使っているdartファイルでimport分を削除

blank

すれば解消します。

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

 

(注)以下のフォームより当社公式メールマガジンにご登録頂くことで
約6時間のFlutter動画講座が無料で受講できます!

(メールマガジンは登録無料・いつでも解除可)

[体験版]
ゼロからのFlutter
(Flutter初級編) 

 

【体験版講座に含まれるもの】
・約70本・約6時間の動画テキスト
・1つの課題アプリのソースコード
・Flutterアプリを作るための「環境構築ライブサポート(Google Meet)」
(「体験版」は全30時間超の「製品版」の約1/6を抜粋した講座です。「製品版」の詳細はこちらから)

 

【当社公式メルマガご登録6大特典】
blank

\約6時間動画講座を無料プレゼント!/
今すぐ無料体験版に申し込む ▶
無料メルマガ登録で講座割引クーポンなど6大特典ゲット!

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

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
blank

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

みんプロ作成アプリ

blank
blank
blank
blank
blank

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎
blank
blank

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
TOP