asdf flutter
asdfでFlutterの環境構築をする
普段はFVMでFlutterのバージョン管理をしているのでasdf
使ってみたいなと思い環境構築をしてみました。
インストールするもの
- xcode
- Android Studio
- VScode
- Google Chrome
- cocoapods
参考にした情報
私の新しく購入したM3 Macだと同じようにやってもできなかったですね?
実行したコマンド
asdf plugin add flutter
asdf list all flutter
asdf install flutter 3.24.0-stable
Error code
Asdfとflutterのプラグインはインストール済み
asdf install flutter 3.24.0-stable
/Users/hashimotojunichi/.asdf/plugins/flutter/bin/install: line 25: jq: command not found
/Users/hashimotojunichi/.asdf/plugins/flutter/bin/install: line 26: jq: command not found
/Users/hashimotojunichi/.asdf/plugins/flutter/bin/install: line 27: [: -gt: unary operator expected
Cannot find the download url for the version: 3.24.0-stable
jq
と呼ばれているツールも必要なので追加
brew install jq
追加されているか確認
which jq
再度実行
asdf install flutter 3.24.0-stable
インストールされているか確認する。
asdf list flutter
全体で使えるように設定
asdf global flutter 3.24.0-stable
versionの確認をしてみる。
zsh: command not found: flutter
と出た場合は.zshrcに設定を追加する。
$HOME/.asdf/asdf.sh
export PATH="
ファイルの下の方に追加する。
# システムPATH
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)"
# anyenv (anyenvを使用する場合)
if command -v anyenv 1>/dev/null 2>&1; then
eval "$(anyenv init -)"
else
# rbenv (anyenvを使用しない場合)
if command -v rbenv 1>/dev/null 2>&1; then
eval "$(rbenv init - zsh)"
fi
fi
# Rails
alias be="bundle exec"
export PATH="$HOME/.rbenv/shims:$PATH"
# その他の設定やエイリアスをここに追加
# 環境変数の重複を削除
typeset -U PATHexport PATH="/opt/homebrew/opt/openjdk/bin:$PATH"
# kdoctor settings
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
VOLTA_HOME=$HOME/.volta
export PATH=$VOLTA_HOME/bin:$PATH
# bun completions
[ -s "/Users/hashimotojunichi/.bun/_bun" ] && source "/Users/hashimotojunichi/.bun/_bun"
# bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
# asdf flutter
. $HOME/.asdf/asdf.sh
export PATH="$HOME/.asdf/shims:$PATH"
flutter --version
成功すればログに表示されるはず
flutter --version
Flutter 3.24.0 • channel stable •
https://github.com/flutter/flutter.git
Framework • revision 80c2e84975 (8 weeks ago) • 2024-07-30 23:06:49
flutterが存在しているかも確認する
which flutter
/Users/hashimotojunichi/.asdf/shims/flutter
iOSの設定
xcodeのエラーが出た場合はターミナルに入力されるコマンドがあるはずなのでそちらを入力してください。
cocoa podsをインストールする。
brew install cocoapods
gem installを実行。パスワード入力するように指示あるのでやる。
sudo gem install cocoapods
Androidの設定
GUI側で設定してライセンスのコマンドを実行する。Android Studioを起動してasdf
のフォルダから使いたいFlutterのバージョンを選択する。フォルダは最初は表示されていないので、Macの人は、command
key + .
を押すと表示される。
Android Studioのコマンドラインツールが入っていないと思うので、GUIで操作して追加する。
ライセンスのコマンドを実行して全部y
を選択する。
flutter doctor --android-licenses
flutter doctorを実行する。問題なければエラーは出てこないはず。
flutter doctor
最初はAndroidのエミュレーターが小さいと思うので、画面左上のsettingから通常サイズに設定する。小さいと使いずらいですからね。
iOSのビルドはOK
AndroidのビルドはOK
と思ったら新しく稼働デバイスを追加する必要があった😅
Pixel 8aを追加。
Flutter Webもビルドできた🙌
最後に
環境構築で結構詰まりましたね💦
FVMではないほうでバージョン管理をすることになった人は参考にしてみてください。
Discussion
久しぶりに動かしたら動かなくなった😇
なぜだ?
直下方法
パスが反応しないときはこのコマンドを使った。
パスを更新
実機のiPhone繋いでる影響かエラーが出ているが接続解除してれば出ないと思う。
バージョンによっては不具合がある噂は知っていたが???
jqが内部で動いているので必要だとか?
朝日さんがブログを書いていた。