👏

MacでFlutterをバージョン管理する

2021/12/07に公開

fvmによるFlutterのバージョン管理

https://fvm.app/

Dart インストール

$ brew tap dart-lang/dart
$ brew install dart

fvm インストール

$ pub global activate fvm

パスを設定

$ vim ~/.zprofile
export PATH="$PATH":"$HOME/.pub-cache/bin

今回使用したバージョン

$ fvm --version
2.2.4

flutterインストール

installコマンドでバージョンを指定してインストール
対象のプロジェクトに移動してバージョンを設定する

# インストール可能なバージョンの一覧
$ fvm releases

# インストール済みバージョンの一覧
$ fvm list

# バージョン指定でインストール
$ fvm install <バージョン>

# flutterのバージョンを指定(プロジェクトのディレクトリへ移動して実行)
$ fvm use <バージョン>

.fvmにバージョンの設定が追加される

IDEの設定方法はこちら
https://fvm.app/docs/getting_started/configuration

使い方

バージョン指定でインストールしたflutterはfvm flutterコマンドで実行
※この時点ではflutterコマンドは使えません

$ fvm flutter

バージョン管理されたflutterコマンドをグローバルに設定する

以下の設定をすることでflutterコマンドで実行できる

$ fvm global <バージョン>

# flutterコマンドにパスを通す
$ vi ~/.zprofile
export PATH="$PATH":"$HOME/fvm/default/bin"

flutter config

flutter webの有効化

$ flutter config --enable-web

~/.config/flutter/settingに設定が追加される

XDG Base Directory仕様に沿っているため、環境変数で変更可能
direnvを使えばプロジェクトごとに設定できる

$ vi .envrc
export XDG_CONFIG_HOME=$PWD/.fvm

.fvm/settingsに設定される

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

参考:direnv

direnvを使うとディレクトリごとに配置された.envrcファイルを参照して環境変数が設定できる

$ brew install direnv

$ vi ~/.zshrc
eval "$(direnv hook zsh)"

https://github.com/direnv/direnv

Discussion