Flutterバージョン管理 (FVM) は、Flutter開発者にとって不可欠なツールであり、さまざまなプロジェクト間で複数のFlutter SDKバージョンを管理するプロセスを効率化します。Flutterは頻繁にアップデートされるため、堅牢なバージョン管理システムがプロジェクトの安定性を維持するためには重要です。この包括的なガイドでは、FVMに関する知識をインストールから高度な使用シナリオまで紹介します。
Flutterアプリケーションを開発する際、APIをテストしたり相互作用したりする必要があります。ApiDogは、API開発とテストに必要な機能を包括的に提供するPostmanの優れた代替手段です。
なぜApiDogを考慮する必要があるのか?
ApiDogは、APIテストをより効率的にする機能を備えたストリームライン化された体験を提供します:
- オールインワンプラットフォーム:APIドキュメント、設計、デバッグ、自動テスト、モックを1つのツールで提供
- 直感的なインターフェース:ユーザーフレンドリーなデザインと強力な機能
- 組み込みモックサーバー:コードを記述せずにモックAPIを作成

4. コラボレーション機能:リアルタイムのチームコラボレーションと同期された更新
5. OpenAPIサポート:OpenAPI仕様をシームレスにインポートおよびエクスポート
6. 自動生成ドキュメント:美しくインタラクティブなAPIドキュメントを自動で作成

7. 高度なテスト機能:強力なスクリプティングを使用して複雑なテストシナリオを作成
Flutterバージョン管理が必要な理由
技術的な詳細に入る前に、FVMがFlutter開発者にとって重要な理由を理解しましょう:
- プロジェクト固有のFlutterバージョン:異なるプロジェクトは、パッケージの互換性やクライアントの要件に基づいて異なるFlutter SDKバージョンを必要とする場合があります。
- チームの一貫性:全チームメンバーが同じFlutterバージョンを使用し、「私のマシンでは動く」という問題を排除します。
- 簡単なSDK切り替え:時間のかかる再インストールなしで、安定版、ベータ版、または開発版のチャンネルを迅速に切り替えることができます。
- 複数のプロジェクトサポート:バージョン競合なしで、さまざまなプロジェクトを同時に進められます。
- 新しいリリースのテスト:安定した本番プロジェクトに影響を与えることなく、安全に新しいFlutterバージョンを試すことができます。
インストール
まず、システムにFVMをインストールしましょう。インストールプロセスは、オペレーティングシステムによって若干異なります:
macOSの場合:
Homebrewを使用:
brew tap leoafarias/fvm
brew install fvm
インストールスクリプトを使用:
curl -fsSL https://fvm.app/install.sh | bash
Windowsの場合:
Chocolateyを使用:
choco install fvm
または、FVM GitHubリポジトリからスタンドアロンパッケージをダウンロードします。
Linuxの場合:
インストールスクリプトを使用:
curl -fsSL https://fvm.app/install.sh | bash
グローバルアクティベーション
FVMをインストールした後、グローバルにアクティベートします:
dart pub global activate fvm
基本的なFVMコマンドと使用法
FVMをインストールしたので、Flutter SDKバージョンを管理するための基本的なコマンドを探ってみましょう。
Flutterバージョンのインストール
特定のFlutterバージョンをインストールするには:
fvm install 3.16.0
特定のチャンネルをインストールすることもできます:
fvm install stable
fvm install beta
fvm install dev
上級ユーザーは、gitコミットハッシュを使用して特定のコミットをインストールすることもできます:
fvm install fa345b1 # 短いハッシュ
fvm install 476ad8a917e64e345f05e4147e573e2a42b379f9 # 長いハッシュ
プロジェクトの Flutter バージョンを設定する
プロジェクトの特定のFlutterバージョンを設定するには、プロジェクトディレクトリに移動して実行します:
fvm use 3.16.0
このコマンドは、プロジェクト内に.fvm
フォルダーを作成し、指定されたFlutter SDKへのシンボリックリンクを設定します。
特定のチャンネルから最新バージョンを使用するには:
fvm use stable
チャンネルを現在のバージョンに固定したい場合(自動更新を防ぐ):
fvm use stable --pin
インストールされたバージョンの一覧表示
FVMを介してインストールしたすべてのFlutterバージョンを表示するには:
fvm list
あるいは、ショートハンドを使用することができます:
fvm ls
利用可能なFlutterリリースの表示
利用可能なすべてのFlutter SDKリリースを表示するには:
fvm releases
チャンネルでリリースをフィルタリングするには:
fvm releases --channel beta
Flutterバージョンの削除
特定のFlutterバージョンがもはや必要ない場合:
fvm remove 3.16.0
グローバルFlutterバージョンの設定
システム全体で使用するためのグローバルFlutterバージョンを設定するには:
fvm global 3.16.0
グローバルバージョンのリンクを解除するには:
fvm global --unlink
プロジェクトの構成
プロジェクトのためにFVMを設定した後、FVMによって管理されているFlutter SDKを使用するように開発環境を構成する必要があります。
.gitignoreの更新
FVMは、選択したFlutterバージョンのキャッシュを指すシンボリックリンクを.fvm/flutter_sdk
に作成します。これを.gitignore
に追加します:
.fvm/flutter_sdk
IDEの構成
VS Code
以下の内容でプロジェクト内の.vscode/settings.json
を作成または更新します:
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// 検索から.fvmファイルを除外
"search.exclude": {
"**/.fvm": true
},
// ファイル監視から除外
"files.watcherExclude": {
"**/.fvm": true
}
}
Android Studio
- Languages & Frameworks > Flutterに移動します。
- Flutter SDKのパスをFVMのシンボリックリンクの絶対パスに変更します(例:
/absolute-project-path/.fvm/flutter_sdk
)。 - 変更を適用してAndroid Studioを再起動します。
Android Studio内でFlutter SDKのルートディレクトリを無視するには、.idea/workspace.xml
にこれを追加します:
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
XCode
iOSで作業している場合、Xcodeを開き、Build phasesに移動し、Run scriptにこれを追加します:
export FLUTTER_ROOT="$PROJECT_DIR/../.fvm/flutter_sdk"
高度なFVM機能
プロジェクトフレーバー
FVMはプロジェクトフレーバーをサポートしており、アプリケーションの異なる部分が異なるFlutter SDKバージョンを使用できるようにします:
fvm use 3.16.0 --flavor production
fvm use 3.10.0 --flavor development
フレーバー間を切り替えるには:
fvm use production
fvm use development
特定のフレーバーでFlutterコマンドを実行するには:
fvm flavor production flutter build
特定のバージョンでFlutterコマンドを実行する
spawn
コマンドを使用すると、特定のSDKバージョンでFlutterコマンドを実行できます:
fvm spawn 3.16.0 flutter build
fvm spawn 3.10.0 flutter test
プロジェクトのFlutterバージョンでコマンドを実行する
exec
コマンドは、プロジェクトで設定されたFlutterバージョンを使用してコマンドやスクリプトを実行します:
fvm exec melos bootstrap
fvm exec path/to/script.sh
CI/CD環境でのFVMの使用
継続的インテグレーションのために、ワークフローにこれらの手順を追加します:
- FVMをインストールします。
fvm install
を実行します。- Flutterコマンドを実行するために
fvm flutter <command>
を使用します。
GitHub Actionsの例:
steps:
- uses: actions/checkout@v3
- name: Install FVM
run: |
dart pub global activate fvm
fvm install
- name: Build and Test
run: |
fvm flutter pub get
fvm flutter test
FVM使用のベストプラクティス
- Flutterコマンドには常にFVMを使用する - 一貫性を確保するために、FVMを介してFlutterコマンドを実行します(例:
fvm flutter pub get
)。 - プロジェクトドキュメントにFVMバージョンを含める - 新しいチームメンバーを助けるために、READMEに必要なFlutterバージョンを文書化します。
- CI/CDでFlutterバージョンをロックする - 継続的インテグレーションパイプラインが開発環境と同じFlutterバージョンを使用することを確認します。
- 安定性のために
--pin
を使用することを検討する - 'stable'のようなチャンネルを使用する場合、自動更新を避けるために固定を検討します。 - 定期的なキャッシュクリーニング - 未使用のFlutterバージョンを
fvm remove
で定期的に削除し、ディスクスペースを節約します。
一般的な問題のトラブルシューティング
FVMバージョンが認識されない
IDEがFVMによって設定されたFlutterバージョンを認識しない場合:
- IDE設定でFlutter SDKパスが正しく設定されていることを確認します。
- 設定変更後にIDEを再起動します。
- シンボリックリンクが正しく作成されていることを確認するために
ls -la .fvm/flutter_sdk
を実行します。
権限の問題
権限エラーが発生した場合:
- Unix系システムでは、
sudo fvm <command>
を試みてください。 - FVMキャッシュディレクトリのフォルダ権限を確認します。
パスの問題
FVM使用後にFlutterコマンドが見つからない場合:
- Flutter SDKパスがシステムのPATHに含まれていることを確認します。
- スクリプト内でFlutter SDKの絶対パスを使用します。
結論
Flutterバージョン管理 (FVM) は、現代のFlutter開発に不可欠なツールです。さまざまなプロジェクト間でFlutter SDKバージョンを正確に制御することを可能にし、互換性の問題を排除し、開発チーム全体の一貫性を確保します。
インストールの基本から始め、高度なプロジェクトフレーバーなどの機能に進む本ガイドでは、FVMを効果的に利用するための重要な側面をカバーしました。FVMをFlutter開発ワークフローに組み込むことで、生産性を向上させ、プロジェクトの安定性を維持し、チームメンバーとシームレスにコラボレーションできます。
バージョンの一貫性を確保し、予期しない動作を避けるために、Flutterコマンドは常にFVMを介して実行することを忘れないでください。適切なFVMの使用によって、異なるSDK要件を持つ複数のFlutterプロジェクトで自信を持って作業し、新しいFlutterバージョンを本番コードに影響を与えずに試すことができます。
FVMを使ったFlutterコーディングを楽しんでください!