1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AndroidStudioにFlutterのFVMを導入する

Last updated at Posted at 2024-11-29

FVMとは

  • FVM(Flutter Version Manger)のこと
  • FlutterSDKのバージョン管理ツール
  • 複数のFlutterをインストールし、プロジェクト毎にバージョンを切り替えることが可能

Node.jsのnvmやRubyのrbenv,Pythonのpyenv的なイメージ

fvmのバージョン

3.2.1

導入

  • macOS(homebrew)
brew tap leoafarias/fvm
brew install fvm
  • windows(choco)
choco install fvm

バージョン確認

fvm -v
3.2.1

コマンド(抜粋)

fvm doctor

環境やプロジェクト設定に関する情報を表示

fvm releases

インストール可能なすべてのFlutter SDKリリースを表示

┌───────────────────┬──────────────┬──────────┐
│ Version           │ Release Date │ Channel  │
├───────────────────┼──────────────┼──────────┤
│ v1.0.0            │ Dec 4, 2018  │ stable   │
├───────────────────┼──────────────┼──────────┤
~~~~~~~~~~~~~~~~~~~~~~省略~~~~~~~~~~~~~~~~~~~~~~
│ 3.24.4            │ Oct 24, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.24.5            │ Nov 14, 2024 │ stable ✓ │
└───────────────────┴──────────────┴──────────┘

Channel:
┌─────────┬─────────┬──────────────┐
│ Channel │ Version │ Release Date │
├─────────┼─────────┼──────────────┤
│ stable  │ 3.24.5  │ Nov 14, 2024 │
└─────────┴─────────┴──────────────┘

fvm install [version]

指定したFlutter SDKバージョンをインストール

fvm install 3.22.0
✓ Flutter SDK: SDK Version : 3.22.0 installed! (2.6s)

セットアップまで行いたい場合は-sオプションをつける

fvm install 3.22.0 -s

fvm remove [version]

指定したFlutter SDKバージョンを削除

fvm remove 3.22.1
✓ 3.22.1 removed. (0.5s)

fvm use [version] [options]

プロジェクトで使用するFlutter SDKバージョンを設定し
.fvm/ディレクトリが自動作成される

プロジェクトルートで実行すること!!
プロジェクトルートではない(pubspec.yamlが見つからない)場合
以下のように聞かれます

No pubspec.yaml detected in this directory
? Would you like to continue? (y/n) › no

installが済んでいないバージョンの場合
以下のように聞かれinstallが終了次第、セットアップされます

Flutter SDK: SDK Version : 3.24.4 is not installed.
? Would you like to install it now? (y/n)yes 
✓ Flutter SDK: SDK Version : 3.24.4 is setup
✓ Dependencies resolved. (11.0s)
✓ Project now uses Flutter SDK : SDK Version : 3.24.4

  • チャンネル名を指定
fvm use stable

または

  • バージョンを指定
fvm use 3.22.0

プロジェクトのpubspec.yamlのと指定したバージョンが合わない場合以下のように聞かれます

SDK Version : 3.22.0 has Dart SDK 3.4.0 does not meet the project constraints of ^3.5.4.
This could cause unexpected behavior or issues.

? Would you like to proceed? (y/n) › no       
environment:
  sdk: ">=3.4.0 <4.0.0" # プロジェクトのDartのsdkのバージョンを調整してください

.fvm/ディレクトリ配下を.gitignoreに追加するか尋ねられます

You should add the fvm version directory ".fvm/" to .gitignore.
? Would you like to do that now? (y/n)yes   

.gitignoreに自動的に追加されます

.gitignore
# FVM Version Cache
.fvm/
✓ Dependencies resolved. (2.0s)
✓ Project now uses Flutter SDK : SDK Version : 3.22.0

fvm list

インストール済みのFlutter SDKバージョンを一覧表

  • fvm useで指定した(setupが完了したもの)Localに⚫︎がつく
  • fvm globalしたもの(後述)はGlobalに⚫︎がつく
  • fvm installのみしか実行されていないバージョンはNeedSetupとなる
fvm list
┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.22.1  │         │ Need setup      │              │              │        │       │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.22.0  │ stable  │ 3.22.0          │ 3.4.0        │ May 13, 2024 │ ●      │ ●     │
└─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘



fvm global [version]

すでにflutterの環境構築を済ませている方は注意が必要です

指定したFlutter SDKバージョンをグローバルで使用するよう設定

fvm global 3.22.1
Flutter SDK: SDK Version : 3.22.1 is now global

┌───────────────────────────────────────────────────────┐
│ ⚠ However your configured "flutter" path is incorrect │
└───────────────────────────────────────────────────────┘
CURRENT: /Users/user.name/development/flutter/bin
CHANGE TO: /Users/user.name/fvm/default/bin

globalで設定したので既存のflutterのパスをfvmのパスに変える必要があります。
パスの通し方は省略します。

上記のコマンドfvm grobalを解除したい場合は--unlinkオプションを使いましょう

fvm global --unlink

AndroidStudioにpathを設定する

  1. 左上の方のSettings
    スクリーンショット 2024-11-29 23.17.53.png

  2. .fvm/flutter_sdk上で右クリックしCopy Path/Reference Absolute Path
    スクリーンショット 2024-11-29 23.26.52.png

  3. Settings > Language & Frameworks > FlutterのFlutter SDK pathに貼り付ける
    スクリーンショット 2024-11-29 23.18.41.png

注意点

fvmの環境下ではflutterコマンドを全てfvm flutter 〇〇という形で打ち込む必要があります
例1 flutter cleanコマンドを実行したい

fvm flutter clean

例2 flutter pub run build_runner build --delete-conflicting-outputsを実行したい

fvm flutter pub run build_runner build --delete-conflicting-outputs

面倒な場合はエイリアスをしておくといいと思います

  • fvm flutterflutterとしていて今まででのようにflutter 〇〇として使えます
$ echo 'alias flutter="fvm flutter"' >> ~/.zshrc
$ source ~/.zshrc

参考

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?