PR

[Flutter]fvmがいつの間にHomebrewに対応していた話

Flutter

はじめに

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のインストール

Page not found · GitHub Pages

上記のHomebrewの公式サイトにアクセスし、インストールのコマンドをコピーしてターミナルに貼り付けて、実行してください。

2021年10月時点では下記のコマンドでした。時期によって変わる可能性があるので必ずHomebrewの公式サイトからコピーしてください。

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

fvmのインストール

既にFlutterをインストールしている場合は必ず削除してください。競合がおこり予期せぬ挙動を取る場合があります。

https://fvm.app/docs/getting_started/installation/

上記のfvmの公式サイトにアクセスし、インストールのコマンドをコピーしてターミナルに貼り付けて、実行してください。

2021年10月時点では下記のコマンドの2つでした。時期によって変わる可能性があるので必ずfvmの公式サイトからコピーしてください。

% brew tap leoafarias/fvm
% brew install fvm

使い方

基本的な使い方

プロジェクトフォルダで「fvm use」してそれ以降はいつものコマンドに「fvm」をつけるだけです。

これだけで、プロジェクト毎にFlutterのバージョンを分けることができます

また「fvm use」した後はAndroid StudioVisual 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は絶対に入れたほうが良いと思います。

おすすめ参考書

コメント

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