概要
macOSにFlutterをインストールする際、様々なエラーに遭遇することがあります。この記事では、Silicon Mac(M1/M2/M3)での確実なインストール手順を紹介します。
動作確認環境
- MacBook Air (M2)
- macOS Sonoma 14.6.1
- Xcode 16.1
- HomeBrew 4.3.9
- CocoaPods 1.16.2
インストール手順
1. Flutter SDKのインストール
# 開発用ディレクトリの作成
mkdir ~/development
cd ~/development
# FlutterのSDKをダウンロード・解凍
curl -O https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_3.19.3-stable.zip
unzip flutter_macos_arm64_3.19.3-stable.zip
# PATHの設定
echo 'export PATH="$PATH:$HOME/development/flutter/bin"' >> ~/.zshrc
source ~/.zshrc
# インストールの確認
flutter --version
- 実行結果
Flutter 3.24.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 603104015d (9 days ago) • 2024-10-24 08:01:25 -0700
Engine • revision db49896cf2
Tools • Dart 3.5.4 • DevTools 2.37.3
2. iOS開発環境のセットアップ
# Xcodeライセンスへの同意
sudo xcodebuild -license accept
xcode-select --install
- XcodeからiOSシュミレーターをインストール
Xcode > Settings > Components から、iOSの項目で、Getを押下
ポイント: シミュレータのインストールは、アプリのテストに必須です。
3. Android開発環境のセットアップ
# Android Studioのインストール
brew install --cask android-studio
- Android StudioからSDKをインストール
初回に開くと諸々acceptするように求められるの処理
Android Studio > Settings > Languages & Frameworks > Android SDK > SDK Tools から、Android SDK Command-line Tools(latest)を選択し、Applyからインストールを実行
- インストール時点の画面
- ライセンスの同意
# Androidライセンスへの同意(すべての項目にyesで同意)
flutter doctor --android-licenses
4. インストール確認
flutter doctor
- 正常にインストールされた場合の出力
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.4, on macOS 14.6.1 23G93)
[✓] Android toolchain - develop for Android devices
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio
[✓] VS Code
[✓] Connected device
[✓] Network resources
- No issues found!
トラブルシューティング
よくあるエラーとその解決方法
- Command Line Toolsのエラー
xcode-select --install
の再実行
- CocoaPodsのバージョン警告
sudo gem install cocoapods
でアップデート
- Android SDK関連のエラー
Android StudioのSDK Managerで必要なコンポーネントを追加インストール
まとめ
Flutterはクロスプラットフォーム開発フレームワークのため、iOS/Android両方の開発環境が必要です。
この記事の手順に従えば、エラーなくインストールできるはずです。
以上、どなたかお役に立てば幸いです。