3
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?

More than 1 year has passed since last update.

FVM をより便利に使う fvm-activate

Posted at

プロジェクトに対して Flutter のバージョンを固定するために Flutte Version Management (FVM) を利用することがあります。チームで開発する際に発生しがちな開発環境の差異を減らすことができるようになります。

FVM について

プロジェクトのディレクトリで fvm use stable を実行すると、 .fvm に SDK のシンボリックリンクと fvm_config.json が作成されます。 fvm_config.json を Git リポジトリに commit することで、他の人たちは fvm install で同じ SDK を利用することができます。詳しくは 公式ドキュメント をご確認ください。

.fvm
├── flutter_sdk -> $HOME/fvm/versions/stable
└── fvm_config.json

その後、この SDK を利用するには通常のコマンドの代わりに fvm flutterfvm dart を利用します。あるいは VS Code の .vscode/settings.json や InteliJ/Android Studio の idea/workspace.xml で設定します。

FVM の不便なところ

通常のコマンドの代わりに fvm flutterfvm dart を利用しなければならないというのが少し不便でして、 fvm を付け忘れて普通に flutter コマンドを利用してしまうと、管理されていないシステムにインストールされたバージョンが利用されてしまいます。

他の例えば Python の venv などであれば、 PATH 環境変数を入れ替えて今開いているシェルの python コマンドを差し替えたりします。こうすれば間違えてしまうことはありません。

fvm-activate を作ってみる

Python の venv の activate スクリプトを参考に FVM 版を作成してみました。

これをプロジェクトの scripts/fvm-activate に配置します。そして source scripts/fvm-activate を実行すると、FVM で管理された SDK が優先的に利用されるようになります。

fvm-deactivate で元に戻すことができます。

3
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
3
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?