• Flutter

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

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にインストールが必要なものでは積極的に活用していきたいと思います。

  • Flutter
宮野 比伊呂

MIYANO HIIRO Chief Technology Officer / 宮野 比伊呂

記事をもっと見る

Our Signature Products, Born from Insight.

提案から生まれた、
MARBLEの代表プロダクト

お客様の課題を起点に、MARBLEが自ら構想し、
仕組みからデザイン、開発、運用まで一貫してつくり上げたプロダクト群です。
業務改善、運営効率化、新たな顧客体験の創出など、
企業の事業成長に直結する“実装された解決策”を形にしています。

  1. 01 入退場システム

    Entry System

    入退場システムのイメージ

    全国15店舗、会員数50万人以上のこども向けパークで稼働する入退場・決済・顧客管理システム。
    受付の効率化と回転率の向上を実現し、運営データの一元管理を可能にしています。

  2. 02 自動配送システム

    Delivery Routing

    50台のトラック、年間350日の配送を最適化する自動ルート生成システム。
    紙のFAXで届く約500件の配送情報をデジタル化し、最適ルートを自動で算出することで、大幅な業務効率化を実現しました。

  3. 03 会話型コマース連携

    Auto Routing

    ライブチャットでの接客からEC購入までを一つの導線でつなぐ会話型コマースシステム。
    リアルタイムの対話で顧客の購買意欲を高め、高いコンバージョン率につながる仕組みを構築しています。