はじめに
Flutterのプロジェクトを複数触っている場合に、いちいちバージョンを切り替えるのがめんどくさいですよね?
そこで便利なのがfvmです。Flutterのバージョンを簡単に複数管理できるようになります。
しかも以前は導入が手間だったのですがいつの間にかMac使いのエンジニアには知ってて当たり前のHomebrewに対応していたので紹介します。
fvmって何?
fvm(Flutter Version Management)はFlutterのSDKのバージョンの管理が簡単にできてしまう便利なツールです
プロジェクト毎にFlutter SDKのバージョンを切り替えられたりできます。
Homebrewって何?
Homebrewは、macOS上のパッケージ管理システムのひとつです。
コマンドを叩くだけで簡単にパッケージを導入できたりします。
環境
- macOS 11.6
- Homebrew 3.2.15
- fvm 2.2.3
準備
Homebrewのインストール
上記のHomebrewの公式サイトにアクセスし、インストールのコマンドをコピーしてターミナルに貼り付けて、実行してください。
2021年10月時点では下記のコマンドでした。時期によって変わる可能性があるので必ずHomebrewの公式サイトからコピーしてください。
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fvmのインストール
既にFlutterをインストールしている場合は必ず削除してください。競合がおこり予期せぬ挙動を取る場合があります。
上記のfvmの公式サイトにアクセスし、インストールのコマンドをコピーしてターミナルに貼り付けて、実行してください。
2021年10月時点では下記のコマンドの2つでした。時期によって変わる可能性があるので必ずfvmの公式サイトからコピーしてください。
% brew tap leoafarias/fvm
% brew install fvm
使い方
基本的な使い方
プロジェクトフォルダで「fvm use」してそれ以降はいつものコマンドに「fvm」をつけるだけです。
これだけで、プロジェクト毎にFlutterのバージョンを分けることができます。
また「fvm use」した後はAndroid StudioやVisual Studio Codeが良きようにしてくれるので、何も考えずに操作できます。
ただし、FlutterのSDKのパスの設定はプロジェクト毎にする必要があります。
% cd プロジェクトフォルダ
% fvm use バージョン
% fvm flutter pub get
% fvm flutter run
例)
# プロジェクトフォルダへ移動し
% cd flutter_app
# 使うFlutterのバージョンを指定
% fvm use stable
# これ以降は全てfvmをつけるだけで後は同じ
% fvm flutter pub get
% fvm flutter run
もし毎回、Flutterのパス指定がめんどくさいと思いの方はFlutterのデフォルトのバージョンを固定できる「fvm global」をおすすめします。これを設定すると「fvm global」で指定したバージョンで「flutter pub get」等のコマンドが使えます。
% fvm global バージョン
例)
# デフォルトのFlutterのバージョンを指定
% fvm global stable
# プロジェクトフォルダへ移動
% cd flutter_app
# 後はいままでと同じ
% fvm flutter pub get
% fvm flutter run
私は違うプロジェクトを触る際にのみ「fvm global」でバージョンを切り替える運用でやっています。
fvm globalでバージョン設定をした際に、.zprofile または .zshrc に以下のパスを追加してください。
設定しないとFlutterコマンドが利用できません。
export PATH="$PATH":"$HOME/fvm/default/bin"
また、よく使うであろうコマンドをいくつか紹介します。
インストール
% fvm install バージョン名
例) Flutter 1.22.6をインストール
% fvm install 1.22.6
例) Flutter stable版(最新の安定版)をインストール
% fvm install stable
アンインストール
% fvm remove バージョン名
例) Flutter 1.22.6をアンインストール
% fvm remove 1.22.6
例) Flutter stable版(最新の安定版)をアンインストール
% fvm remove stable
インストールしているバージョンの一覧を表示
% fvm list
Cache Directory: /Users/xxxxxxxx/fvm/versions
stable (global)
1.22.6
インストールができるバージョン一覧の表示
% fvm releases
...
Sep 10 21 │ 2.5.0
Sep 13 21 │ 2.6.0-5.1.pre
--------------------------------------
Sep 16 21 │ 2.6.0-5.2.pre beta
--------------------------------------
Sep 17 21 │ 2.5.1
--------------------------------------
Sep 25 21 │ 2.6.0-11.0.pre dev
--------------------------------------
--------------------------------------
Sep 30 21 │ 2.5.2 stable
--------------------------------------
ヘルプ
% fvm -h
Flutter Version Management: A cli to manage Flutter SDK versions.
Usage: fvm <command> [arguments]
Global options:
-h, --help Print this usage information.
--verbose Print verbose output.
--version current version
Available commands:
config Set configuration for FVM
dart Proxies Dart Commands
doctor Shows information about environment, and project configuration.
flavor Switches between different project flavors
flutter Proxies Flutter Commands
global Sets Flutter SDK Version as a global
install Installs Flutter SDK Version
list Lists installed Flutter SDK Versions
releases View all Flutter SDK releases available for install.
remove Removes Flutter SDK Version
spawn Spawns a command on a Flutter version
use Sets Flutter SDK Version you would like to use in a project
Run "fvm help <command>" for more information about a command.
さいごに
fvmは絶対に入れたほうが良いと思います。
コメント