この記事の最終更新日: 2026年6月16日

Flutterは、1つのコードベースでiOS・Android・Web・デスクトップなどに対応できる便利なフレームワークです。
しかし、実際にFlutter開発を始めようとすると、最初の環境構築でつまずく人は少なくありません。
特に、次のような状態になりがちです。
Flutter SDKは入れたのに、flutter doctorでエラーが出る
Android Studioを入れたのに、Android実機で起動できない
Xcodeを入れたのに、iOSシミュレーターで動かない
CocoaPodsのエラーでiOSビルドが通らない
VS CodeでFlutterプロジェクトを開いたのに補完が効かない
Flutter自体は便利ですが、実際には Flutter SDK・Dart・Android Studio・Android SDK・Xcode・CocoaPods・VS Code/Android Studioの拡張機能 など、複数のツールが連携して動きます。
この記事では、Flutter開発の環境構築でハマりやすいポイントを、初心者向けにまとめます。
- Flutter環境構築は、なぜハマりやすいのか
- まず確認すべきは flutter doctor
- ハマりポイント1:Flutter SDKのパスが通っていない
- ハマりポイント2:Android Studioを入れたのにAndroid SDKが足りない
- ハマりポイント3:Androidライセンスに同意していない
- ハマりポイント4:Android Emulatorが起動しない
- ハマりポイント5:Xcodeを入れたのにiOSビルドできない
- ハマりポイント6:CocoaPodsが入っていない
- ハマりポイント7:VS CodeにFlutter拡張を入れていない
- ハマりポイント8:Android StudioのFlutterプラグインを入れていない
- ハマりポイント9:flutter pub get を忘れる
- ハマりポイント10:flutter clean に頼りすぎる
- ハマりポイント11:iOS SimulatorとAndroid Emulatorで確認できることが違う
- ハマりポイント12:iOS実機ビルドで署名エラーになる
- ハマりポイント13:Android実機で認識されない
- ハマりポイント14:Hot ReloadとHot Restartを混同する
- ハマりポイント15:古い記事の手順をそのまま使ってしまう
- 環境構築で使う基本コマンドまとめ
- 環境構築のおすすめ手順
- 1. Flutter SDKを入れる
- 2. flutter doctor を実行する
- 3. Android Studioを入れる
- 4. Androidライセンスに同意する
- 5. Xcodeを入れる
- 6. CocoaPodsを入れる
- 7. VS CodeまたはAndroid StudioのFlutterプラグインを入れる
- 8. サンプルアプリを起動する
- 環境構築チェックリスト
- まとめ
Flutter環境構築は、なぜハマりやすいのか
Flutterの環境構築がハマりやすい理由は、単純にインストールするものが多いからです。
Flutter公式ドキュメントでも、Flutter SDKをインストールするだけでなく、開発対象のプラットフォームに応じて初期設定を行う流れになっています。VS Codeを使ったクイックスタートや、SDKを手動でセットアップする方法も用意されています。(Flutter ドキュメント)
たとえば、iOSアプリもAndroidアプリも作りたい場合、最低でも次のようなものが関係します。
Flutter SDK
Dart SDK
Android Studio
Android SDK
Android Emulator
Xcode
iOS Simulator
CocoaPods
VS Code または Android Studio
Flutter / Dartプラグイン
つまり、Flutter環境構築は「Flutterだけ入れれば終わり」ではありません。
iOS向けにはXcodeやCocoaPodsが必要になり、Android向けにはAndroid StudioやAndroid SDKの設定が必要になります。
まず確認すべきは flutter doctor
Flutterの環境構築で最初に覚えるべきコマンドは、flutter doctor です。
flutter doctor は、Flutter開発に必要な環境がそろっているかをチェックしてくれるコマンドです。
flutter doctor
このコマンドを実行すると、Flutter SDK、Android toolchain、Xcode、Chrome、Android Studio、接続デバイスなどの状態を確認できます。
初心者がやりがちなのは、エラー文を読まずに何となく再インストールを繰り返すことです。
しかし、flutter doctor は基本的に「何が足りないか」を教えてくれます。
たとえば、次のようなメッセージが出ます。
Android toolchain - develop for Android devices
Xcode - develop for iOS and macOS
CocoaPods not installed
Android license status unknown
このような表示を見て、1つずつ潰していくのが環境構築の基本です。
Flutter公式のCLIリファレンスでも、flutter コマンドは開発者やIDEがFlutterとやり取りするためのコマンドであり、プロジェクト作成・解析・テスト・実行などに使うものとして説明されています。(Flutter ドキュメント)
ハマりポイント1:Flutter SDKのパスが通っていない
最初によくあるのが、Flutter SDKをダウンロードしたのに、flutter コマンドが使えないパターンです。
たとえば、ターミナルで次のように表示されます。
zsh: command not found: flutter
これは、Flutter SDKの bin ディレクトリにPATHが通っていない可能性があります。
Flutter SDKを配置しただけでは、ターミナルから flutter コマンドを見つけられないことがあります。
macOSでzshを使っている場合は、たとえば .zshrc に次のような設定を追加します。
export PATH="$PATH:$HOME/development/flutter/bin"
設定後は、ターミナルを再起動するか、次を実行します。
source ~/.zshrc
その後、次のコマンドで確認します。
flutter --version
よくある失敗
Flutter SDKをダウンロードしただけで満足している
PATH設定をしていない
.zshrcではなく.bash_profileに書いていて反映されていない
ターミナルを再起動していない
Flutter SDKの配置場所を後から移動してPATHがずれている
Flutter SDKの場所は、あとから変更しない方が安全です。
ハマりポイント2:Android Studioを入れたのにAndroid SDKが足りない
Androidアプリを開発する場合、Android Studioをインストールするだけでは不十分なことがあります。
Android SDK、SDK Platform、Build Tools、Command-line Tools、エミュレーターなどが正しく入っている必要があります。
Flutter公式のAndroidセットアップでは、Android StudioのSDK Managerを開き、SDK Platformsタブで必要なAndroid SDK Platformを確認する流れが説明されています。現在の公式ドキュメントでは、API Level 36のSDK Platformが選択されているか確認する手順が示されています。(Flutter ドキュメント)
Android Studioで確認する場所は、主に次の通りです。
Android Studio
↓
Settings / Preferences
↓
Languages & Frameworks
↓
Android SDK
または、
Tools
↓
SDK Manager
で確認できます。
よくある失敗
Android Studioだけ入れてSDKを入れていない
SDK Platformが足りない
Android SDK Command-line Toolsが入っていない
Android Emulatorが入っていない
SDKの場所をFlutterが認識していない
flutter doctor でAndroid toolchainにエラーが出る場合は、まずAndroid SDKのインストール状況を確認しましょう。
ハマりポイント3:Androidライセンスに同意していない
Android SDKを入れていても、ライセンスに同意していないと flutter doctor でエラーになることがあります。
その場合は、次のコマンドを実行します。
flutter doctor --android-licenses
表示されるライセンスに同意していきます。
よくある失敗
Android SDKは入っているのにdoctorが通らない
ライセンス同意をしていない
途中で入力を止めている
別ユーザーでSDKを入れていて権限がずれている
Android関連で flutter doctor が通らない場合、SDK不足とライセンス未同意はかなりよくある原因です。
ハマりポイント4:Android Emulatorが起動しない
FlutterアプリをAndroidで動かすには、実機かエミュレーターが必要です。
Android StudioからVirtual Device Managerを開き、仮想デバイスを作成します。
Android Studio
↓
Tools
↓
Device Manager
↓
Create device
ただし、エミュレーターはPC環境によってハマることがあります。
よくある失敗
エミュレーターが重すぎる
仮想化支援機能が無効になっている
Apple Silicon Macで適切なイメージを選んでいない
古いAndroidイメージを使っている
ストレージ不足で起動できない
Macの場合、Apple SiliconかIntel Macかによって選ぶべきシステムイメージが変わることがあります。
開発効率だけを考えるなら、Android実機をUSB接続して確認する方が楽な場合もあります。
ハマりポイント5:Xcodeを入れたのにiOSビルドできない
iOSアプリをFlutterで開発する場合、Xcodeが必要です。
ただし、Xcodeをインストールしただけで終わりではありません。
次のような設定が必要になることがあります。
Xcodeの初回起動
追加コンポーネントのインストール
Command Line Toolsの設定
iOS Simulatorのインストール
ライセンス同意
Xcodeをインストールしたら、一度Xcodeを起動して初期セットアップを完了させましょう。
また、コマンドラインツールの選択が必要な場合があります。
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Xcodeのライセンス同意が必要な場合は、次のように実行します。
sudo xcodebuild -license
よくある失敗
Xcodeをインストールしただけで起動していない
Command Line Toolsが別のものを向いている
Xcodeのライセンスに同意していない
iOS Simulatorが入っていない
macOSとXcodeのバージョンが合っていない
iOS開発では、FlutterよりもXcode側の設定で詰まることがよくあります。
ハマりポイント6:CocoaPodsが入っていない
iOS向けにFlutterプラグインを使う場合、CocoaPodsが必要になることがあります。
Flutter公式のmacOS開発セットアップでは、ネイティブmacOSコードを使うFlutterプラグインをサポートするために、最新のCocoaPodsをインストールするよう案内されています。iOS開発でも、プラグインのネイティブ側依存関係を扱う場面でCocoaPodsが関係します。(Flutter ドキュメント)
CocoaPodsがない場合、次のようなエラーが出ることがあります。
CocoaPods not installed.
Skipping pod install.
インストール方法はいくつかありますが、環境によってはRubyやgemの権限でハマることがあります。
sudo gem install cocoapods
または、Homebrewを使う方法もあります。
brew install cocoapods
インストール後は、次を確認します。
pod --version
よくある失敗
CocoaPodsが入っていない
podコマンドにPATHが通っていない
Rubyの権限でインストールに失敗する
Apple Silicon Macでgem周りがうまくいかない
Podfile.lockやPodsが壊れている
iOSビルドがうまくいかない場合、次のコマンドを試すこともあります。
cd ios
pod install
状態が壊れている場合は、次のようにクリーンアップすることもあります。
flutter clean
flutter pub get
cd ios
pod install
ただし、むやみに削除する前に、エラー内容を確認しましょう。
ハマりポイント7:VS CodeにFlutter拡張を入れていない
Flutter開発では、VS Codeを使う人も多いです。
しかし、VS Code本体を入れただけではFlutter開発が快適にはなりません。
Flutter公式ドキュメントでは、VS CodeでFlutter開発をするにはFlutter extensionをインストールする流れが説明されており、Flutter extensionを入れるとDart extensionもインストールされると案内されています。(Flutter ドキュメント)
必要なのは主に次の拡張です。
Flutter
Dart
インストール後、VS Codeでコマンドパレットを開いて確認します。
Cmd + Shift + P
↓
Flutter: New Project
これが表示されれば、Flutter拡張が認識されています。
よくある失敗
VS Codeだけ入れてFlutter拡張を入れていない
Dart拡張が無効になっている
Flutter SDKの場所をVS Codeが認識していない
プロジェクトを正しいフォルダで開いていない
VS Codeで補完が効かない、デバッグ実行できない場合は、まず拡張とFlutter SDKの認識状況を確認しましょう。
ハマりポイント8:Android StudioのFlutterプラグインを入れていない
Android StudioでFlutter開発をする場合も、Flutterプラグインが必要です。
Flutter公式ドキュメントでは、Android StudioまたはIntelliJでFlutterプラグインをインストールする手順として、Settings > Plugins > Marketplaceで「Flutter」を検索し、インストール後に再起動する流れが説明されています。(Flutter ドキュメント)
よくある失敗
Android Studioだけ入れてFlutterプラグインを入れていない
Dartプラグインが無効
Flutter SDKパスが未設定
Android Studioの再起動をしていない
Android StudioはAndroid SDK管理にも使うため、VS Code派でもインストールしておくことが多いです。
ハマりポイント9:flutter pub get を忘れる
Flutterプロジェクトでは、pubspec.yaml に依存パッケージを書きます。
パッケージを追加したら、次のコマンドが必要です。
flutter pub get
VS CodeやAndroid Studioが自動実行してくれる場合もありますが、依存関係がうまく解決されていないと、次のようなエラーが出ます。
Target of URI doesn't exist
Package not found
Undefined class
よくある失敗
pubspec.yamlを編集しただけでpub getしていない
インデントを間違えている
dependenciesとdev_dependenciesを間違えている
バージョン制約が衝突している
pubspec.yaml はYAMLなので、インデントミスにも注意が必要です。
悪い例です。
dependencies:
flutter:
sdk: flutter
正しくはこうです。
dependencies:
flutter:
sdk: flutter
Flutter初心者は、Dartコードより先に pubspec.yaml のインデントでハマることがあります。
ハマりポイント10:flutter clean に頼りすぎる
Flutterでビルドエラーが出たとき、よく使われるのが次のコマンドです。
flutter clean
その後、次を実行します。
flutter pub get
確かに、キャッシュやビルド成果物が壊れているときには有効です。
しかし、何でもかんでも flutter clean すればよいわけではありません。
flutter clean が効きやすいケース
ビルドキャッシュが壊れている
古い生成物が残っている
パッケージ変更後に挙動がおかしい
iOS/Androidのビルド成果物が不整合を起こしている
flutter clean では解決しないケース
SDKが足りない
Xcodeの設定が間違っている
AndroidManifest.xmlが間違っている
Info.plistが間違っている
依存パッケージのバージョンが衝突している
CocoaPodsが入っていない
flutter clean は便利ですが、根本原因を見ずに実行し続けると、ただ時間を消費します。
ハマりポイント11:iOS SimulatorとAndroid Emulatorで確認できることが違う
シミュレーターやエミュレーターは便利ですが、実機と同じではありません。
特に次の機能は、実機確認が重要です。
カメラ
位置情報
通知
Bluetooth
マイク
Apple Watch連携
生体認証
アプリ内課金
広告
バックグラウンド処理
Flutter環境構築の段階では、まずシミュレーターやエミュレーターで動けば十分ですが、本格的にアプリを作るなら、早めに実機確認できる状態にしておくべきです。
よくある失敗
エミュレーターでは動いたのに実機で動かない
通知がシミュレーターでは確認できない
位置情報の精度が実機と違う
iOS実機ビルドで署名エラーになる
Android実機でUSBデバッグが無効
環境構築が終わったら、可能であればiPhone実機とAndroid実機の両方で起動確認しておくと安心です。
ハマりポイント12:iOS実機ビルドで署名エラーになる
iOS実機でFlutterアプリを動かす場合、Apple IDや署名設定が関係します。
Xcodeで ios/Runner.xcworkspace を開き、Signing & Capabilitiesを確認することがあります。
ios/Runner.xcworkspace
↓
Runner
↓
Signing & Capabilities
↓
Teamを設定
よくある失敗
Runner.xcodeprojを開いている
Runner.xcworkspaceを開いていない
Teamが未設定
Bundle Identifierが重複している
Apple IDでサインインしていない
Provisioning Profileが作られていない
CocoaPodsを使うFlutterプロジェクトでは、Xcodeで開くときに Runner.xcodeproj ではなく Runner.xcworkspace を開く必要があるケースがあります。
iOS実機ビルドでは、FlutterというよりXcodeの署名設定で詰まることが多いです。
ハマりポイント13:Android実機で認識されない
Android実機でFlutterアプリを動かすには、端末側の開発者向けオプションとUSBデバッグを有効にする必要があります。
確認コマンドは次です。
flutter devices
または、
adb devices
よくある失敗
USBデバッグが無効
端末側で接続許可をしていない
USBケーブルが充電専用
Android SDK Platform-Toolsが入っていない
端末メーカーのドライバが必要
Android実機が認識されない場合、ケーブルを変えるだけで解決することもあります。
ハマりポイント14:Hot ReloadとHot Restartを混同する
Flutterの魅力の1つがHot Reloadです。
Flutter公式ドキュメントでは、Hot Reloadは更新したソースコードをDartランタイムに注入し、FlutterフレームワークがWidgetツリーを再構築することで、変更を素早く確認できる機能だと説明されています。(Flutter ドキュメント)
ただし、すべての変更がHot Reloadで反映されるわけではありません。
Hot Reloadで反映されやすいもの
UIの文言変更
色の変更
レイアウト調整
Widgetのbuild内の変更
Hot Restartが必要になりやすいもの
main関数周辺の変更
初期化処理の変更
状態の初期値変更
依存関係の追加
ネイティブ設定の変更
さらに、次のような場合はアプリの再ビルドが必要になることがあります。
Info.plistを変更した
AndroidManifest.xmlを変更した
Podfileを変更した
ネイティブプラグインを追加した
アプリの権限設定を変更した
Hot Reloadで反映されないからといって、すぐにバグだと判断しない方がよいです。
ハマりポイント15:古い記事の手順をそのまま使ってしまう
Flutter環境構築の記事は多くあります。
しかし、Flutter、Dart、Android Studio、Xcode、CocoaPodsは更新が早いです。
数年前の記事の手順をそのまま実行すると、現在の環境ではうまくいかないことがあります。
特に注意したいのは次の情報です。
Flutter SDKのインストール方法
Android SDKのAPIレベル
Xcodeの必要バージョン
CocoaPodsのインストール方法
Gradleのバージョン
Kotlinのバージョン
targetSdkVersion
環境構築では、まず公式ドキュメントを優先しましょう。
Flutter公式ドキュメントは、インストール方法、Androidセットアップ、VS Code、Android Studioなどの設定をそれぞれ案内しています。(Flutter ドキュメント)
個人ブログやQiita、Zennの記事は、公式を見たうえで補助的に使うのがおすすめです。
環境構築で使う基本コマンドまとめ
Flutter環境構築でよく使うコマンドをまとめます。
flutter --version
Flutter SDKのバージョン確認。
flutter doctor
開発環境の診断。
flutter doctor -v
より詳細な診断。
flutter doctor --android-licenses
Android SDKライセンスへの同意。
flutter devices
接続されているデバイス確認。
flutter create my_app
新規Flutterプロジェクト作成。
flutter pub get
依存パッケージ取得。
flutter run
アプリ起動。
flutter clean
ビルド成果物の削除。
環境構築のおすすめ手順
初心者は、次の順番で進めると比較的ハマりにくいです。
1. Flutter SDKを入れる
まずFlutter SDKをインストールし、PATHを通します。
確認します。
flutter --version
2. flutter doctor を実行する
flutter doctor
ここで出たエラーを1つずつ対応します。
3. Android Studioを入れる
Android Studioをインストールし、Android SDK、Command-line Tools、Emulatorを確認します。
4. Androidライセンスに同意する
flutter doctor --android-licenses
5. Xcodeを入れる
iOS開発をする場合はXcodeをインストールし、初回起動とライセンス同意を済ませます。
6. CocoaPodsを入れる
iOSでプラグインを使う場合に備えて、CocoaPodsを入れます。
pod --version
7. VS CodeまたはAndroid StudioのFlutterプラグインを入れる
VS CodeならFlutter拡張、Android StudioならFlutterプラグインをインストールします。
8. サンプルアプリを起動する
flutter create sample_app
cd sample_app
flutter run
ここまでできれば、最低限のFlutter開発環境は整っています。
環境構築チェックリスト
最後に、チェックリストとしてまとめます。
Flutter SDKをインストールした
flutterコマンドにPATHが通っている
flutter doctorを実行した
Android Studioをインストールした
Android SDKをインストールした
Android SDK Command-line Toolsを入れた
Android EmulatorまたはAndroid実機を用意した
Androidライセンスに同意した
Xcodeをインストールした
Xcodeを初回起動した
Xcode Command Line Toolsを設定した
CocoaPodsをインストールした
VS CodeまたはAndroid StudioにFlutterプラグインを入れた
flutter devicesで端末を認識できる
flutter createしたサンプルアプリを起動できる
このチェックリストを上から順に確認すると、どこで詰まっているかを切り分けやすくなります。
まとめ
Flutter開発の環境構築は、初心者が最初につまずきやすいポイントです。
Flutter自体は便利ですが、実際にはFlutter SDKだけでなく、Android Studio、Android SDK、Xcode、CocoaPods、VS CodeやAndroid Studioのプラグインなど、複数のツールが関係します。
特にハマりやすいのは次のポイントです。
PATHが通っていない
Android SDKが足りない
Androidライセンスに同意していない
Xcodeの初期設定が終わっていない
CocoaPodsが入っていない
Flutterプラグインを入れていない
実機やエミュレーターが認識されない
Hot ReloadとHot Restartを混同している
古い記事の手順をそのまま使っている
環境構築で詰まったら、まずは flutter doctor を実行しましょう。
そして、表示されたエラーを1つずつ潰していくのが一番確実です。
Flutter環境構築は最初こそ大変ですが、一度整えば、iOS・Androidの両方に対応したアプリ開発をかなり効率よく進められます。

大阪のエンジニアが書いているブログ。



コメント