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の設定手順を記載します。
次の流れで設定画面を開く
Preferences->Languages & Frameworks->Flutter->Flutter SDK path:
次のようにパスを入力して適用する(<ユーザー名>は適宜変更)
/Users/<ユーザー名>/.asdf/installs/flutter/3.0.1-stable
Visual Studio Code
次の流れで設定画面を開く
Code->基本設定->設定->「flutter sdk」で検索->Flutter Sdk Pathsの「項目の追加」
次のようにパスを入力して適用する(<ユーザー名>は適宜変更)
/Users/<ユーザー名>/.asdf/installs/flutter/3.0.1-stable
プラグインについて
asdfはFlutter以外にもPHPやNode.jsなどのバージョン管理も行えます。
利用可能なプラグインのリストは↓にあるので、必要に応じて試してみてください。
まとめ
Flutter SDKのバージョン管理ツール「asdf」のインストール方法と、プロジェクトごとにバージョン指定する方法についてご紹介しました。
PHPやNode.jsなどサーバーサイドの環境構築はDockerで行うことが増えてきたため使う機会がなさそうですが、FlutterのようにOSにインストールが必要なものでは積極的に活用していきたいと思います。
Our Signature Products, Born from Insight.
提案から生まれた、
MARBLEの代表プロダクト
お客様の課題を起点に、MARBLEが自ら構想し、
仕組みからデザイン、開発、運用まで一貫してつくり上げたプロダクト群です。
業務改善、運営効率化、新たな顧客体験の創出など、
企業の事業成長に直結する“実装された解決策”を形にしています。
-
01 入退場システム
Entry System
全国15店舗、会員数50万人以上のこども向けパークで稼働する入退場・決済・顧客管理システム。
受付の効率化と回転率の向上を実現し、運営データの一元管理を可能にしています。 -
02 自動配送システム
Delivery Routing
50台のトラック、年間350日の配送を最適化する自動ルート生成システム。
紙のFAXで届く約500件の配送情報をデジタル化し、最適ルートを自動で算出することで、大幅な業務効率化を実現しました。 -
03 会話型コマース連携
Auto Routing
ライブチャットでの接客からEC購入までを一つの導線でつなぐ会話型コマースシステム。
リアルタイムの対話で顧客の購買意欲を高め、高いコンバージョン率につながる仕組みを構築しています。