富山のシステム開発・Web制作会社

Flutter SDKのバージョンをプロジェクト別に指定する

複数のFlutterプロジェクトを1端末内で開発・保守する場合、プロジェクトごとに異なるFlutter SDKバージョンに切り替えられる管理ツールを導入する必要があります。
Flutterに対応した管理ツールとしてはFVMや今回紹介するasdfがあります。

asdf(とFlutterプラグイン)を使うと、次のようなことが可能になります。

  • グローバル(端末全体)で使えるFlutterのインストール
  • ローカル(特定フォルダ以下)で使えるFlutterのインストール
  • プラグインを入れるとFlutter以外の開発環境(Node.jsやPHP、Rubyなど)にも対応可能

asdfのインストール

公式サイトの通りですが、今回はmacOSでHomebrewを使ってインストールします。


brew install asdf

asdfのパスを通すため、.zshrcに追記します。
bashなど別のシェルを使っている場合は、最後のパスを適宜変更してください。


echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ~/.zshrc
source ~/.zshrc

Flutterプラグインのインストール


asdf plugin-add flutter

Flutter SDKのインストール

インストール可能なバージョン一覧を確認


asdf list all flutter

バージョンを指定してインストール


asdf install flutter 3.0.1-stable

プロジェクトにFlutterバージョンを適用する

Flutter SDKのバージョンを指定

次のようにプロジェクトのフォルダに移動し、Flutter SDKバージョンを指定します。


cd <プロジェクトのパス>
asdf local flutter 3.0.1-stable
flutter --version

IDEの設定

IDEによって異なりますが、Flutter SDKのパスを設定する必要があります。
以下にAndroid Studioと Visual Studio Codeの設定手順を記載します。

Android Studio

次の流れで設定画面を開く
Preferences->Languages & Frameworks->Flutter->Flutter SDK path:

次のようにパスを入力して適用する(<ユーザー名>は適宜変更)


/Users/<ユーザー名>/.asdf/installs/flutter/3.0.1-stable

Android StudioのFlutter SDKパス設定 Visual Studio Code

次の流れで設定画面を開く
Code->基本設定->設定->「flutter sdk」で検索->Flutter Sdk Pathsの「項目の追加」

次のようにパスを入力して適用する(<ユーザー名>は適宜変更)


/Users/<ユーザー名>/.asdf/installs/flutter/3.0.1-stable

Visual Studio CodeのFlutter SDKパス設定

プラグインについて

asdfはFlutter以外にもPHPやNode.jsなどのバージョン管理も行えます。
利用可能なプラグインのリストは↓にあるので、必要に応じて試してみてください。

対応プラグインのリスト

まとめ

Flutter SDKのバージョン管理ツール「asdf」のインストール方法と、プロジェクトごとにバージョン指定する方法についてご紹介しました。
PHPやNode.jsなどサーバーサイドの環境構築はDockerで行うことが増えてきたため使う機会がなさそうですが、FlutterのようにOSにインストールが必要なものでは積極的に活用していきたいと思います。

この記事を書いた人
Chief Technology Officer

よく読まれている記事

アクセス数バク上がり方法を大公開!MARBLEのアクセス数を大公開!

Flutter SDKのバージョンをプロジェクト別に指定する

メタバースとWEB3.0について

Laravel TelescopeとTelescope Toolbarで効率よくデバッグする

Safariでclamp()が効かない場合の対処法

【サンプルあり】今すぐ使える!便利な比較関数 min() max() clamp() のお話

CSS 子要素を親要素からはみ出して画面いっぱいに表示させる方法とWindowsブラウザの注意点

Homebrewについて

ディセントラライズド(decentralized)とは

メタバースとは

関連記事

アクセス数バク上がり方法を大公開!MARBLEのアクセス数を大公開!

Homebrewについて

メタバースとWEB3.0について