問題タブ [dart-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - ソース ジェネレーター パッケージのソース ジェネレーターを使用する際のエラー
モデルの一部にjson_serializableを使用しているダーツ ソース ジェネレーターを作成しています。最初、ソース生成はしばらくの間正常に機能していましたが、実行するdart run build_runner build --delete-conflicting-outputs
とエラーが発生します:
[情報] ビルド スクリプトの生成が完了しました。410 ミリ秒かかりました。
[情報] キャッシュされたアセット グラフの読み取りが完了しました。62 ミリ秒かかりました。
[情報] 最後のビルドが完了してからの更新を確認しています。492 ミリ秒かかりました。
[警告] ビルド スクリプトが更新されたため、アセット グラフを無効にしています。
[情報] 以前のビルドからの出力をクリーンアップしています。完了、
4 ミリ秒かかりました [情報] ビルド スクリプトの生成が完了しました、79 ミリ秒かかりました
[警告] アセット グラフがないため、コンパイル済みのビルド スクリプトが無効になりました。
[警告] lib/settings/config.dart:3:6: エラー: 'lib/settings/config.g.dart' の読み取り中にエラーが発生しました: そのようなファイルまたはディレクトリ
部分はありません 'config.g.dart';
^
lib/settings/config.dart:3:6: エラー: 「lib/settings/config.g.dart」は「part of」宣言がないため、一部として使用できません。
部分 'config.g.dart';
^
[情報] ビルド スクリプトのプリコンパイル... 完了、785 ミリ秒かかりました
[重大] ビルド スクリプト .dart_tool/build/entrypoint/build.dart のプリコンパイルに失敗しました。これは、誤って構成されたビルダー定義が原因である可能性があります。
私のパッケージの依存関係は次のとおりです。
build.yaml は次のようになります。
なぜこれが起こっているのか、または独自のジェネレーターを提供するパッケージにソースジェネレーターを使用することに制限があるのか を理解できませんでした。これを解決する方法はありますか?
編集
私はvscodeを使用していますが、ターミナルからビルドしようとしましたが、同じエラーが発生しました。同じエラーを実行した後でもflutter clean | dart pub get | dart run build_runner build --delete-conflicting-outputs
持続します。
現在の回避策
現在、手動でファイルを作成し、ステートメントを手動で.g.dart
追加しています。その後、実行すると、ソース生成が成功します。ただし、生成されたメソッドをコードにリンクした後に再度実行すると、ファイルが削除され、再び同じエラーが発生します。ソース生成が必要になるたびに、このプロセスを繰り返さなければなりません。part of
build_runner
build_runner
.g.dart