flutter doctorコマンドのエラーを対処していく

## 自分の環境
- macOS Sonoma 14.4
- Apple Silicon M3 Pro
- コンソール : zsh

## 経緯
Flutterで開発をすることになり、Flutter SDKを導入してパスを通したが、flutter dockerコマンドを実行したところまだ完全な状態ではなかったため、一つずつ修正していく。
修正完了までを備忘録として残しておきます。

## 前提条件
- XCodeをApple Storeよりインストール済み
- Android Studioを公式サイトよりインストール済み
- Flutter SDKをインストールし、zshにPathを通してFlutterコマンドが利用できる状態

## 1. flutter docterコマンドを実行

実際にコンソールを立ち上げて以下のコマンドを実行する。
```
flutter docter
```

チェックがついておらず[ ! ]となっている箇所があり、配下に×が見受けられる。

```
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.
[!] Xcode - develop for iOS and macOS (Xcode 15.4)
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.
```

## 2. cmdline-tools component is missing を修正する

Android Studioを起動し、画面中央下部の「More Actions」を押下する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/839842/061e1814-40c4-26c5-f682-12ddc241a023.png)

以下のプルダウンが出現するので、一番下の「SDK Manager」を選択する。

![スクリーンショット 2024-06-05 17.13.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/839842/f539440d-8e23-ebfd-7c1a-302e156085f1.png)

Settingが表示されるので、「Languages & Frameworks」 → 「Android SDK」 → 「SDK Tools」を選択し、リストの「Android SDK Command-line Tools (latest)」にチェックを入れて、右下の「Apply」をクリックする。

![スクリーンショット 2024-06-05 17.14.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/839842/5bc7ae08-0147-205a-fa64-fce6f377416a.png)

自動でインストールが開始するので、flutter docterコマンドを再度コンソールに入力し、項目が消えていたら完了

## 3. Android license status unknown. を修正する

flutter docterで指示されている通りに、コンソールで以下のコマンドを入力する。

```
flutter doctor --android-licenses
```

自動でインストールが開始するので、flutter docterコマンドを再度コンソールに入力し、チェックがついていたら完了

## 4. CocoaPods not installed. を修正する

次はXCodeのエラーを解決していく。
Ruby 2.7以上がインストール済みの場合は、以下のコマンドをコンソールに入れて完了となる。
```
sudo gem install cocoapods
```

イントールが問題なく完了したら以下のコマンドでセットアップが完了する。

```
pod setup
```

### Rubyをインストールしていない場合

HomeBrewがインストールされていない場合、インストールしてPathを通しておく。

以下のコマンドを入力し、rbenvとruby-buildをインストールする。
```
brew install rbenv ruby-build
```

インストールが完了したらPathを通す。

```
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc
```

Rubyをインストールする。（2.7以上であればいいので、ここでは3.1.2を選択）

```
rbenv install 3.1.2
rbenv global 3.1.2
```

以下のコマンドを入力して、cocoapodsをインストールする。

```
sudo gem install cocoapods
```

イントールが問題なく完了したら以下のコマンドでセットアップが完了する。

```
pod setup
```

ここまで完了したら、flutter docterコマンドを入力して最終確認

```
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.1, on macOS 14.4 23E214 darwin-arm64, locale
    ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] IntelliJ IDEA Community Edition (version 2023.3.4)
[✓] VS Code (version 1.89.1)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!
```

全てチェックがついていたら、設定完了