flutter インストールの猛烈に雑なメモ (Windows/Mac)

開発に Visual Studio Code を使う前提です。

# Windows の場合

- Android Studio をインストールしておく。
- Visual Studio Code をインストールしておく。
- Visual Studio 2019 をインストールして C++ デスクトップ開発環境をインストールしておく (Windows デスクトップアプリの開発をする場合)
- flutter 公式から zip をダウンロードして展開する。適当なフォルダに置く。
- SDK/flutter/bin に PATH を遠す。
- `flutter doctor` してみる。

## sdkmanager がないといわれたとき：

Android Studio の SDK Manager を開いて、SDK Tools のタブから Android SDK Command-line tools にチェックを入れて Apply を押す。ライセンスに同意するように言われたら同意する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/266247/ec6755cc-c0ae-e6eb-4f0b-d4493b5edd78.png)

上の画面は mac のだけど windows でも同じ。

## Android SDK のライセンスに同意していないと言われたとき：

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

とやって、すべてに Y で答える。

## ADK Manager で仮想デバイスを作る

これをしなくてもアプリのビルドはできるけど、何もないと動作確認ができない。

Android SDK の AD AVD Manager で仮想デバイスをひとつ作っておく。デフォルトのものから選んでもいい。

仮想デバイスの Android のバージョンを何か選ぶ必要がある。迷ったら、とりあえず最新バージョンを選んでおけば良い。

## Windows のデスクトップ開発もするとき

```
$  flutter config --enable-windows-desktop
```

としておく。

## Visual Studio Code の設定

flutter のプラグインをインスールする。

F1 を押して flutter と入れると、flutter new project と表示されるので、それを選ぶ。

その次の段階で、Android SDK のインストールフォルダを指定しろと言われるかもしれない。その場合は、`<ユーザのフォルダ>/AppData/Android/SDK` を指定する。

flutter の SDK の場所も指定するように言われるかもしれない。その場合も flutter を置いた場所を指定する。

それから Application を選ぶと、アプリケーションの雛形が作成される。

右下に青色で NO DEVICE と書かれているところで、Android の仮想デバイスを何か選ぶ。ここで Windows Desktop を選ぶと、Windows 用のバイナリを吐く。

VSCode でターミナルを開いて、

```
> flutter run
```

とする。選んだ仮想デバイス用のバイナリが生成されて、仮想デバイスかデスクトップのアプリが自動的に起動する(はず)。

必要のに応じて Android Studio 側に flutter のプラグインを入れるなどする。

# Mac の場合

手順自体は同じ。

- Android Studio をインストールする。
- Xcode をインストールする (最新版にしておく)
- flutter 公式から zip をダウンロードして展開する。適当なフォルダに置く。
- SDK/flutter/bin に PATH を遠す。
- `flutter doctor` してみる。

## Xcode をゼロからインストールしたとき

たぶん下記コマンドの実行が必要

```
$ sudo xcode-select —switch /Applications/Xcode.app/Contents/Developer
$ sudo xcodebuild -license
```

## CocoaPods が無いといわれたとき

```
$ sudo gem install cocoapods
```

とする。このとき、ruby のバージョンが 3.x でないと gem がうまく動かずにエラーになることがある。mac にプリインストールされているデフォルトのバージョン (2.x系) では少なくとも失敗する。

対処としては、rbenv をインストールして、ruby のバージョンを 3 以上にしてから gem を実行する。brew と gem の更新も必要になるかもしれない。

## brew の update

```
$ brew update
$ brew upgrade
```

場合によっては下記を先にする必要がある。

```
$  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
```

## rbenv のインストール

```
$ brew install rbenv
$ rbenv install -l
2.6.9
2.7.5
3.0.3
$ rbenv install 3.0.3
$ rbenv 3.0.3
```

`.bash_profile` に下記を追加して、ターミナルを起動しなおす。

```
export PATH="$PATH:$HOME/.rbeng/bin"
eval "$(rbenv init - bash)"
```

これでバージョンが入れかわるはず。

```
$ ruby -v
3.0.3
```

## gem の update

```
$ sudo gem install rubygems-update
```

## cocoapod のインストール

```
$ sudo gem install cocoapods
```

これで flutter doctor しても怒られないはず。

## mac のデスクトップ開発もするとき

```
$  flutter config --enable-macos-desktop
```

としておく。

## Android Studio の設定

このあたりは Windows と基本的には同じ。

## Visual Studio Code の設定

このあたりも Windows と同じ。

## 参考

- [7分で出来た！FlutterでFirebase Authパッケージを使って認証を超簡単実装！](https://blog.dalt.me/2089)
- [flutterの環境構築しようとしたらハマった話](https://qiita.com/pe-ta/items/e5a1813b21de8d446407)

## 罠回避メモ

Windows の Visual Studio は 2019 でないとダメぽい。

windows で管理者でないユーザの PATH は「Windows システムツール」の「コントロールパネル」から「ユーザアカウント」を選んで、そこにある「環境変数」から変更する。デバイスのほうから変更すると、管理者の PATH しか変更できない。

VSCode のターミナルのデフォルトが Command Prompt になってることがある(デフォルト?)。Power Shell とか Git Bash とかに変更しておく (ほうが幸せ)。 PATH を変更した場合は VSCode 自体を再起動しないとダメぽい。