【Flutter】え、まだfvm使ってるの?これからはasdfじゃない?

Dart

概要

どうも、@daiki1003です!

すみません、ちょっと煽ってしまいました笑

本記事では、asdfというバージョン管理ツールの導入方法を解説したいと思います。

先日、同僚から「fvmよりasdfを使いませんか?」と言う提案が。
それまで全く聞いた事なく、「キーボード左手を小指から順に入力した名前だな」くらいにしか思いませんでした。

が、このasdffvmの一番のペインでもある
flutterコマンドの前にfvmと打たなければいけない」
と言う点を解決してくれるのがわかり、即導入しました🙌

asdfのインストール

asdf | asdf
Manage multiple runtime versions with a single CLI tool

にアクセスし、自分の環境を選択すると適切なコマンドが表示されます。

brewでインストール

例として、一番多そうなhomebrewでのインストールは下記となります。

  brew install asdf

shellへの追加

asdf | asdf
Manage multiple runtime versions with a single CLI tool

正しく、asdfコマンドを動作させるために、shellに追加します。
上記サイトにアクセスし、OS/Shell/インストール方法を選択すればコマンドが表示されます。

 // Bash echo -e "\n. $(brew --prefix asdf)/asdf.sh">> ~/.bash_profile

// Fish
echo -e "\nsource "(brew --prefix asdf)"/asdf.fish" >> ~/.config/fish/config.fish

// zsh
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc

これで、asdfのインストールは完了です!

flutterのインストールとビルドまで

1. プロジェクトのルートディレクトリへ移動

Flutterのプロジェクトのルートディレクトリへ移動しておいてください。

2. flutterプラグインのインストール

次にこのasdfを使ってflutterをインストールします。

asdf plugin add flutter

これで、asdfがflutterレポジトリを端末にcloneするなどのインストールを行います。

3. .tool-versionsの作成

使用するFlutterのバージョンを記述した.tool-versionsファイルをルートディレクトリに作成します。

vim .tool-versions

ここで使用するバージョンを記述します。

flutter 2.0.5-stable

使用可能なバージョンリストは以下のコマンドで取得出来ます。

asdf list all flutter

また、インストール済みバージョンは以下のコマンドです。

asdf list flutter

4. flutterのインストール

下記コマンドを叩くと、.tool-versionsで指定したバージョンの
Flutterがインストールされます。

asdf install

インストールが終わったら、最後に下記おまじないを実行して終了です。

asdf reshim

5. パスの設定

使用しているIDEによっては、インストール先へのパスが通っていないことがあります。

Visual Studio Code

Preferencesを開き、 flutter sdkと検索すると、
Dart: Flutter Sdk Pathという文字の下にEdit in settings.jsonと出るので
それをタップ。

"dart.flutterSdkPath": "/Users/yourname/.asdf/installs/flutter/2.0.5-stable"

と指定します。

Android Studio

Preferences > Languages & Frameworks > Flutter > Flutter SDK Path

/Users/yourname/.asdf/installs/flutter/2.0.5-stable

と指定します。

6. Flutterがインストールされているか確認

flutter --versionを実行し、正常に動作する事を確認します。

既に導入済みのプロジェクトに参加した場合

既に環境構築が済んでいる場合は4. flutterのインストールから進めれば問題なく
進められると思います。

最後に

いかがだったでしょうか?
以前はfvmを使っていましたが、コマンドを実行するたびに
fvmと最初に打たなければいけないのがとても煩わしい。
さらに、仮にスクリプトを書いていたら全部先頭にfvmと付け足していかなければいけない…。
が、asdfを使えば何も意識する事なく使えるのでとても便利ではないでしょうか?

誰かのお役に立てば。

Twitterフォローお願いします

「次回以降も記事を読んでみたい!」
「この辺分からなかったから質問したい!」

そんな時は、是非Twitter (@daiki1003)Instagram (@ashdik_flutter)のフォローお願いします♪

Twitterコミュニティ参加お願いします

Twitterコミュニティ「Flutter lovers」を開設しました!
参加お待ちしております😁

☕️ Buy me a coffee

また、記事がとても役に立ったと思う人は
コーヒーを奢っていただけると非常に嬉しいです!
@daiki1003

コメント

タイトルとURLをコピーしました