2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】FVM(Flutter Version Management)についての説明と導入手順

Last updated at Posted at 2024-05-29

はじめに

こんにちは!

そろそろネタに尽きてきたのですが、
そういえばFVMについての記事を書いてないなと思ったので、まとめてみました◎

今回は、HomeBrewでFVMをインストールする方法です。

開発環境

[使用端末]
PC: Macbook Air(M1)

[開発ツール]
VSCode

FVMとは

FVM(Flutter Version Management)は、Flutterのバージョン管理ツールです。
プロジェクトごとに異なるFlutter SDKバージョンを簡単に切り替えたり、管理したりすることができます。
これによって、異なるプロジェクトで特定のFlutterバージョンに依存する場合でも、問題なく開発を進めることができます。

主な利点

  • プロジェクトごとのバージョン管理
    • 各プロジェクトに最適なFlutter SDKバージョンを簡単に設定できます
  • 複数バージョンの管理
    • 複数のFlutterバージョンを並行してインストール・管理することができます
  • 簡単なバージョン切り替え
    • コマンド一つでバージョンを切り替えられます
  • 環境の一貫性
    • チーム全体で同じバージョンを使用することを強制でき、環境の一貫性を保てます

導入手順

1. FVMのインストール

冒頭でもお話しした通り、今回はHomeBrewでFVMをインストールします。
ターミナルで以下のコマンドを実行して、FVMをインストールします。

brew tap leoafarias/fvm
brew install fvm

2. VSCodeの設定

.vscode/settings.jsonに以下の設定を追加します。

 "dart.flutterSdkPath": ".fvm/flutter_sdk", 
 "search.exclude": { 
  "**/.fvm": true 
 }, 
 "files.watcherExclude": {
  "**/.fvm": true 
 }

解説!
dart.flutterSdkPath": ".fvm/flutter_sdk
この設定は、VS CodeのDart拡張機能に対して、Flutter SDKのパスを指定しています。FVMを使用している場合、プロジェクトごとに特定のFlutter SDKバージョンを使用します。FVMは、各プロジェクトのルートに.fvm/flutter_sdkというシンボリックリンクを作成し、そこに対応するFlutter SDKを指します。

この設定によって、VS Codeはプロジェクトごとに適切なFlutter SDKを認識し、使用できるようになります。

search.exclude": { "**/.fvm": true }
この設定は、VS Codeの検索機能に対して、.fvmフォルダを検索対象から除外するように指示しています。.fvmフォルダには、FVMによって管理されているFlutter SDKのシンボリックリンクや設定ファイルが含まれていますが、これらは通常の開発作業では検索する必要がないため、検索対象から除外することで検索結果をよりシンプルに保つことができます。

files.watcherExclude": { "**/.fvm": true }
この設定は、VS Codeのファイル監視機能に対して、.fvmフォルダを監視対象から除外するように指示しています。ファイル監視機能は、ファイルシステムの変更を監視して、変更があった場合にVS Codeのインターフェースを更新したり、ビルドをトリガーしたりします。.fvmフォルダの内容は開発者が直接編集するものではなく、FVMによって管理されるため、監視対象から除外することで不要な監視を避け、エディタのパフォーマンスを向上させることができます。

3. プロジェクトで使用するFVMバージョンの指定

次に、プロジェクトで使用するFVMのバージョンを指定します。
ターミナルで、FVMを導入したいプロジェクトのルートディレクトリに移動して、以下のコマンドを入力します。

fvm use {Flutterバージョン}

入力したバージョンがインストールされていないため、インストールをするかどうかについて聞かれるので、Yesを選択してください。

4.FVMの適用

最後に、切り替えたFlutterバージョンでライブラリを読み込みましょう。
FVM導入後、flutterコマンドを使用する際は、基本的にfvm flutter <command>の形で実行します。

fvm flutter clean
fvm flutter pub get

主なコマンド

コマンド 説明 使用例
fvm list インストールされているFlutterバージョンのリスト表示 fvm list
fvm install <version> Flutterバージョンのインストール fvm install stable
fvm install 2.10.4
fvm remove <version> Flutterバージョンのアンインストール fvm remove 2.10.4
fvm use <version> 使用するFlutterバージョンの設定 fvm use 2.10.4
fvm current 現在使用中のFlutterバージョン表示 fvm current
fvm doctor 全体的な情報表示 fvm doctor
fvm config プロジェクトのFVM設定を表示 fvm config
fvm flutter <command> 特定バージョンのFlutter SDKを実行 fvm flutter doctor
fvm flutter run

終わりに

Flutterの開発を行なってると、どうしても使用するライブラリが増えていきますよね。Flutterのバージョンに起因するライブラリの依存関係は、結構厄介だったりします。FVMを導入することで、Flutterバージョンの変更を簡単に選択することができるので、FVMはとても快適です!ぜひ検討してみてください!

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?