結論
大きく分けて2つの理由があります。
どちらの理由もpubspec.yamlファイルで、リソース(画像やテキストファイルなど)を指定する箇所おけるエラーです。
- pubspec.yamlにスラッシュの記述が足りない
- ファイルを置く場所が間違っている
pubspec.yamlにスラッシュの記述がたりない
以下のようなケースです
エラーケース
flutter:
assets:
– assets/text
→エラー「No file or variants found for asset: assets/text. 」
正常ケース
flutter:
assets:
– assets/text/ #<=フォルダの場合は最後に/が必要
→正常
このようにフォルダを示す場合は、最後にスラッシュ(/)がないとエラーとなります。
ファイルを置く場所が間違っている
プロジェクトフォルダの直下にフォルダ、またはファイルを作る必要があります。
良い例)
プロジェクトフォルダを「flutter_app2」
pubspec.yamlの宣言を
flutter:
assets:
– assets/text/
としたならば、
flutter_app2 の直下にassetsフォルダ作る必要があります。
悪い例)
そんな基本的なミスする人いるのか!?と思われれるかもしれませんが、私はミスして数時間無駄にしてしまいました。。。。
メインのプロジェクトフォルダである「flutter_app2」ではなく、「dart_tool」配下にリソースフォルダを作ってしまった例
最後に
pubspec.yaml 関係のエラーは
・ファイル配置が間違っている
・構文が間違っている(インデント、空白、/が足りない)
など基本的な間違いが多いので、散歩でも深呼吸でもして気分変えてから取り組むと解消しやすいです。