Flutterアプリケーション開発概論

MacOS・Windows対応の開発環境構築(Error対応・Q&A)後半

11. よく起こりうるエラー集

Flutter の環境構築は、正しい順番で進めても途中で止まることがあります。ただし、多くのエラーは無秩序に見えても、実際には

  • SDK
  • PATH
  • Android toolchain
  • Xcode
  • 実行先
  • IDE 拡張 のどこかに分類できます。Flutter 公式も、インストール時のトラブルシューティングページを用意し、各セットアップページで flutter doctor -v を使って不足を切り分ける流れを前提にしています。

この章では、よくあるエラーを

  1. 症状
  2. 原因
  3. 確認
  4. 解決 の順で整理します。目的は、「エラー文を暗記すること」ではなく、どの層の問題かを見抜けるようになることです。

11-1. flutter: command not found / flutter is not recognized

症状

ターミナルや PowerShell で flutter --version を実行しても、コマンドが見つからないと表示されます。

原因

最も多いのは、Flutter SDK の bin フォルダが PATH に入っていないことです。

次に多いのは、そもそも SDK の展開先が想定と違うことです。Flutter 公式の PATH 設定ページでも、SDK の bin フォルダを PATH に加えることが前提になっています。

確認

mac

flutter --version

PowerShell

flutter --version

解決

  • SDK の場所を確認する
  • flutter/bin を PATH に追加する
  • ターミナルや PowerShell を再起動する

課題と解決

課題何が起きるか解決
PATH未設定flutter コマンドが使えないbin を PATH に追加する
SDK場所を誤認違うパスを通してしまう実際の展開場所を確認する

11-2. Flutter SDK not found

症状

VS Code や Android Studio で Flutter SDK が見つからないと表示されます。

原因

IDE 側が SDK の場所を把握できていないか、SDK 自体がまだ入っていない可能性があります。VS Code 経由の導入ページでも、SDK ダウンロードや SDK パス認識がセットアップの中心になっています。

確認

  • SDK が本当に存在するかをファイルシステムで確認する
  • flutter --version が CLI では通るか確認する
  • IDE 側で Flutter コマンドが認識されるかを見る

解決

  • SDK を正しい場所に展開する
  • IDE の Flutter SDK path を再設定する
  • 必要なら VS Code 経由導入ではなく手動導入に切り替える

課題と解決

課題何が起きるか解決
IDEがSDK位置を知らない補完や実行が効かないSDK path を再設定する
SDK未導入何も進まないSDK を先に導入する

11-3. Android licenses not accepted

症状

flutter doctor -v で Android licenses に関する警告が出ます。

原因

Android SDK のライセンス同意が完了していないためです。Flutter 公式の Android 開発セットアップでも、flutter doctor --android-licenses を実行して同意を進める手順が明示されています。

確認

flutter doctor -v
flutter doctor --android-licenses

PowerShell:

flutter doctor -v
flutter doctor --android-licenses

解決

flutter doctor --android-licenses を実行し、表示される確認に同意します。

完了後、再度 flutter doctor -v を実行して警告が消えるかを確認します。

課題と解決

課題何が起きるか解決
ライセンス未同意Android toolchain が未完了扱いになるflutter doctor --android-licenses を実行する
再確認しない直ったか不明のままになるflutter doctor -v を再実行する

11-4. Android toolchain not configured

症状

Android 関連の doctor 項目が未解決のままで、Android 向けに run できません。

原因

Android Studio が未導入、Android SDK が不足、または Android 関連設定が途中の可能性があります。

Flutter 公式の Android setup は、Android Studio、SDK Manager、Device Manager を使った構成を前提にしています。

確認

flutter doctor -v
flutter devices

解決

  • Android Studio を入れる
  • SDK Manager で Android SDK を確認する
  • 必要な system image を入れる
  • flutter doctor --android-licenses を実行する

課題と解決

課題何が起きるか解決
Android SDK未導入Android 実行できないAndroid Studio + SDK を入れる
設定途中doctor で未完了表示が残る手順を上から潰す

11-5. No devices available

症状

flutter devices に何も表示されず、flutter run も実行先を見つけられません。

原因

Emulator / Simulator / 実機が起動していないことがほとんどです。Flutter 公式の Quick start でも、実行先の確認を前提に run を進めています。

確認

flutter devices
flutter emulators

PowerShell:

flutter devices
flutter emulators

解決

  • Android Emulator を起動する
  • Mac なら iOS Simulator を起動する
  • 必要なら実機を接続する
  • 再度 flutter devices を確認する

課題と解決

課題何が起きるか解決
実行先未起動run できない先に実行先を起動する
devices確認不足原因が見えないflutter devices を毎回見る

11-6. Xcode not installed / not configured

症状

Mac で iOS 関連の doctor 項目が未設定になり、iOS run ができません。

原因

Xcode 本体が未インストール、または command-line tools や初回セットアップが完了していない可能性があります。Flutter 公式の iOS setup は、Xcode とその周辺設定を前提にしています。

確認

flutter doctor -v
xcode-select -p

解決

  • App Store から Xcode を入れる
  • Xcode を一度起動する
  • xcode-select と xcodebuild -runFirstLaunch を実行する

課題と解決

課題何が起きるか解決
Xcode未導入iOS 開発不可Xcode を入れる
初回設定不足doctor が未完了になるcommand-line tools を設定する

11-7. Xcode license not accepted

症状

doctor や build 実行時に Xcode license 未同意に関する警告が出ます。

原因

Xcode のライセンスにまだ同意していません。Flutter 公式の iOS setup でも、sudo xcodebuild -license を実行するよう案内しています。

確認

flutter doctor -v

解決

sudo xcodebuild -license

その後、再度 flutter doctor -v を実行します。

課題と解決

課題何が起きるか解決
ライセンス未同意iOS toolchain が止まるsudo xcodebuild -license を実行する
再確認不足状態が不明のままdoctor を再実行する

11-8. Windows desktop toolchain unresolved

症状

Windows で desktop 関連の doctor 項目が unresolved になっています。

原因

Windows desktop 向けの必要ツールが不足しています。Flutter 公式の Windows setup でも、flutter doctor -v に従って不足 toolchain を解消する流れが示されています。

確認

flutter doctor -v
flutter devices

解決

Windows setup ページの要件を確認し、不足ツールを追加したうえで、再度 flutter doctor -v を実行します。

課題と解決

課題何が起きるか解決
必要ツール不足desktop 開発できないWindows setup に従って不足を埋める
doctor未確認何が足りないかわからないflutter doctor -v を基準にする

11-9. VS Code拡張が認識されない

症状

Flutter コマンドが出ない、補完が効かない、Hot Reload ボタンが見つからない。

原因

Flutter / Dart extension が未導入、または有効化されていない可能性があります。Flutter 公式の VS Code サポートページも、Flutter extension を前提にしています。

確認

  • Extensions で Flutter が有効か確認
  • Command Palette で Flutter: コマンドが出るか確認

解決

  • Flutter extension を再インストール
  • VS Code を再起動
  • 必要ならワークスペースを開き直す

課題と解決

課題何が起きるか解決
拡張未導入開発体験が不完全になるFlutter / Dart 拡張を入れる
拡張無効コマンドが出ない有効化して再起動する

11-10. エミュレータ / シミュレータが起動しない

症状

Android Emulator や iOS Simulator が起動しない、または起動しても Flutter から見えない。

原因

Android なら仮想デバイス未作成、system image 未取得、マシン負荷や仮想化設定の問題が多いです。

iOS なら Xcode 初回設定不足や Simulator 起動前の状態が原因になりやすいです。Flutter 公式の Android / iOS setup は、いずれも GUI 側設定完了を前提にしています。

確認

flutter emulators
flutter devices

PowerShell:

flutter emulators
flutter devices

解決

  • Android Studio の Device Manager で仮想端末を再確認する
  • system image を入れ直す
  • Xcode / Simulator を一度明示的に起動する
  • 再度 flutter devices を実行する

課題と解決

課題何が起きるか解決
仮想端末未作成起動対象がないDevice Manager / Simulator を設定する
起動はしたが認識されないFlutter run できないflutter devices で見えるか確認する

12. Mac用クイックルート

ここでは、Mac で最短で環境構築をやり直したいときの導線をまとめます。

Flutter 公式の VS Code install、Android setup、iOS setup を踏まえると、

Android を先に通し、その後 iOS を追加する

流れがもっとも安定します。

12-1. 最短手順

  1. VS Code を入れる
  2. Flutter extension を入れる
  3. Flutter SDK を入れる
  4. PATH を通す
  5. Android Studio を入れる
  6. Android Emulator を作る
  7. 必要なら Xcode を入れる
  8. flutter doctor -v を実行
  9. flutter create → flutter run

12-2. コピペ用コマンド一覧

xcode-select --install
echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
flutter --version
dart --version
flutter doctor -v
flutter doctor --android-licenses
flutter emulators
flutter devices
flutter create my_first_flutter_app
cd my_first_flutter_app
flutter run

※ xcode-select --install は command-line tools 未導入時のみ有効です。Xcode 本体が必要な場合は App Store から別途導入します。Flutter 公式の iOS setup / VS Code install でも、この初期設定が案内されています。

12-3. GUI操作一覧

  • VS Code をインストール
  • Flutter extension をインストール
  • Android Studio をインストール
  • SDK Manager を確認
  • Device Manager で Android Emulator を作る
  • 必要なら Xcode をインストール

12-4. 完了チェックリスト

  • flutter --version が通る
  • flutter doctor -v に致命的エラーがない
  • Android Emulator が flutter devices に見える
  • 必要なら iOS Simulator も見える
  • flutter run で起動する

12-5. この節の課題と解決

課題何が起きるか解決
手順が前後するどこで壊れたか不明になるAndroid を先に通す
iOSを最初から混ぜる切り分けが難しくなるAndroid → iOS の順で進める
doctorを飛ばす不足を見逃す必ず途中で flutter doctor -v を挟む

13. Windows用クイックルート

Windows で最短で環境構築をやり直したいときは、

  1. Flutter SDK
  2. VS Code
  3. Android Studio
  4. Android Emulator の流れが基本です。Flutter 公式の VS Code install では、Windows では Git for Windows の導入も案内されています。

13-1. 最短手順

  1. Git for Windows を入れる
  2. VS Code を入れる
  3. Flutter extension を入れる
  4. Flutter SDK を入れる
  5. PATH を通す
  6. Android Studio を入れる
  7. Android Emulator を作る
  8. flutter doctor -v を実行
  9. flutter create → flutter run

13-2. コピペ用コマンド一覧

$env:Path = "C:\dev\flutter\bin;" + $env:Path
flutter --version
dart --version
flutter doctor -v
flutter doctor --android-licenses
flutter emulators
flutter devices
flutter create my_first_flutter_app
Set-Location my_first_flutter_app
flutter run

このコマンド列は、Flutter 本体、Android licenses、実行先確認、新規作成、実行確認までを含んでいます。Flutter 公式の Windows / Android / VS Code 導線に沿う形です。

13-3. GUI操作一覧

  • Git for Windows をインストール
  • VS Code をインストール
  • Flutter extension をインストール
  • Android Studio をインストール
  • SDK Manager を確認
  • Device Manager で Android Emulator を作る

13-4. 完了チェックリスト

  • flutter --version が通る
  • flutter doctor -v に致命的エラーがない
  • Android Emulator が flutter devices に見える
  • flutter run で起動する

13-5. この節の課題と解決

課題何が起きるか解決
Git未導入一部開発前提が崩れるGit for Windows を先に入れる
Android環境未整備実行先がないAndroid Studio と Emulator を整える
desktop まで一度にやろうとする切り分けが難しいまず Android で成功させる

14. 考えてみよう

ここでは、環境構築を単なる作業で終わらせず、なぜその順番で進めるのかを考えます。Flutter を学ぶとき、理解と作業はセットです。

理由を考えながら進めることで、次に別マシンや別プロジェクトで環境構築するときも再現しやすくなります。

14-1. なぜFlutter環境構築はFlutter単体では完結しないのか

Flutter はクロスプラットフォームの開発基盤ですが、最終的にアプリを動かす先は Android、iOS、Windows、macOS などの各OSです。

つまり、Flutter は「共通の土台」であり、そこに各プラットフォームの toolchain が接続されて初めて実行できます。

Flutter 公式が install と platform setup を別々に持っているのは、この構造を反映しています。

考える問い

  • Flutter SDK だけで Android / iOS / Windows の実行まで完結しないのはなぜでしょうか。
  • 「共通コード」と「開発環境の共通化」は、どこが違うでしょうか。

14-2. なぜ最初に1つの実行先に絞るべきなのか

一度に Android、iOS、desktop を全部やろうとすると、どこで失敗したのかが見えにくくなります。

一方、最初に Android Emulator 1台で成功させれば、Flutter SDK・PATH・エディタ・Android toolchain・run の流れが成立していると確認できます。

その後で iOS や desktop を足すほうが、構造的に切り分けやすいです。

考える問い

  • 最初から複数ターゲットを同時に狙うと、どのような混乱が起こるでしょうか。
  • Android を最初の成功体験にする利点は何でしょうか。

14-3. なぜ flutter doctor -v を読める必要があるのか

doctor は、環境構築における「健康診断」です。

感覚で調べるより、現在不足しているものを一覧で確認できます。Flutter 公式も install や各 setup ページで doctor を前提にしています。

つまり doctor が読めると、トラブル対応を勘ではなく構造で進められます。

考える問い

  • flutter doctor -v を見ずに作業すると、どんな無駄が増えるでしょうか。
  • エラー文と doctor の出力は、どう使い分けるべきでしょうか。

14-4. なぜMacとWindowsで学習戦略を変えるべきなのか

iOS が Mac 前提だからです。Windows では Android / Windows desktop が中心になり、Mac では Android の後に iOS を追加できます。

この差を無視すると、「Flutter なら全部同じようにできるはず」という誤解につながります。Flutter の価値はコード共有にありますが、各OSの開発条件までは統一されません。

考える問い

  • Mac と Windows で同じ教材を使っていても、なぜ進め方を変える必要があるのでしょうか。
  • 自分の目的が Android 中心なのか、iOS まで含むのかで、何を優先すべきでしょうか。

15. まとめ

この章全体を通して、環境構築は Flutter SDK を入れるだけの作業ではないことが見えてきたはずです。

本質は、

  • Flutter SDK
  • エディタ
  • 各プラットフォームの toolchain
  • 実行先
  • 診断コマンド をつなげて、実際に開発可能な状態を作ることです。

Flutter 公式の install / quick / platform setup が複数ページに分かれているのも、その構造を反映しています。

15-1. 要点の箇条書きまとめ

  • Flutter 環境構築は、Flutter SDK、エディタ、プラットフォームごとの toolchain、実行先の4要素で考えると整理しやすい。 (docs.flutter.dev)
  • Mac と Windows は、Flutter SDK・VS Code・Android 開発環境の多くを共通化できるが、iOS 開発は Mac 前提である。 (docs.flutter.dev)
  • 新規ユーザーは stable channel を使うのが基本であり、Flutter SDK archive でも stable は new users 向けとされている。 (docs.flutter.dev)
  • 最初は Android 環境を先に整え、flutter doctor -v、flutter devices、flutter create、flutter run を通すのが最も失敗しにくい。 (docs.flutter.dev)
  • Mac では、その後に Xcode、command-line tools、iOS Simulator を追加することで iOS 学習へ進める。 (docs.flutter.dev)
  • flutter doctor -v は、環境構築の正否を判断する中心的な診断コマンドである。 (docs.flutter.dev)
  • インストール完了の本当の基準は、新規アプリを作成し、起動し、Hot Reload が効くことである。 (docs.flutter.dev)

15-2. この章で身につけた視点

この章で本当に身につけたいのは、「手順を覚えること」だけではありません。

いま起きている問題が、SDK の問題なのか、toolchain の問題なのか、実行先の問題なのかを切り分ける視点です。

この視点があると、別のPCで環境構築するときも、Flutter バージョンを更新したあとも、落ち着いて原因を追えるようになります。


16. 参考文献

教材トップへ戻る