Flutter-Windows開発環境のフォルダ構成

3月末にFlutterの環境をローカルマシンに構築して、最近Cドライブが肥大化してきたなと感じ、Flutterのファイル類はどこに保存されるのだろうかと思うようになった。

今回はWindows版だけどFlutterで使われるファイルがどこに存在するのかちょっと調べてみた。

  • 以下の情報は、Flutterのバージョン2から3に移行した環境で、かつFVMを使用したものでのもの。
    バージョン3以降で新規構築とかFVMを使わなかった場合については違う可能性もある。

しらべたもの

今回調べたものは以下の通り。

  • Flutterの開発環境
  • PubDevのキャッシュ情報
  • Dartサーバー
  • プログラム実行時のファイル保存先

Flutter開発環境

Choose your first type of app
Configure your system to develop Flutter on Windows.

上記ページにあるzipファイルを保存する場所。

例えばとして「C:\src\flutter」に展開するといいよと書かれているが、設定可能なフォルダは権限昇格を必要としない場所であればどこでもいい。
VSCodeなどで利用するのは、「展開フォルダ\bin」にある実行可能ファイルになるので、インストール手順書には、展開後 bin を環境変数のPATHに設定すると記述されている。

ちなみに、展開されたフォルダに関しては環境変数FLUTTER_ROOTとしてFlutter内で利用している。ただFLUTTER_ROOTについての情報はほとんどなかった。

Developing packages & plugins
How to write packages and plugins for Flutter.

上記にちょびっと書かれていたのだけど、FlutterのGithub上ではそれなりのコード中に書かれていた。ほんと何なんだろうか。

Pubのキャッシュ情報

pub addやpub globalで読み込んだパッケージ情報の保存場所。

これに関しては2か所あった。ちなみになぜ2か所になったのかは不明。
検索してみたのだけど、情報ヒットしなかった。

  1. %LOCALAPPDATA%\Pubの下
    こちらはpub globalで取り込んだパッケージ類が保持される場所、もしくはfvmでaddしたパッケージが保存される。
    こちらは環境変数PUB_CACHEで指定することも可能。
    Glossary of package terms
    A glossary of terms relating to Dart's package management tool, pub.
  2. %FLUTTER_ROOT%.pub-cacheの下
    PUB_CACHEが設定されていない状態で、fvmを通さずaddしたものがこちらにキャッシュされているようだった。

上記に関しては、FLUTTER_ROOTを設定している前提で、PUB_CACHEを%FLUTTER_ROOT%\.pub-cacheにすることで統一したフォルダでの管理は可能。

この場合、環境変数PATHには、%FLUTTER_ROOT%\binと%FLUTTER_ROOT%\.pub-cache\binの2つを設定する必要がある。

  • 注意
    %FLUTTER_ROOT%\.pub-cache\bin には %PUB_CACHE%\bin と設定したかったのだけど、これだとVSCodeでは正しくパスを認識してくれなかった。

Dartサーバー

DartをWebで実行するためのサービスとしてあるものらしいのだけど、実際に何をしているかは不明。

%LOCALAPPDATA%\.dartServer

Windowsの場合はこれ固定。

プログラム実行時のファイル保存先

開発環境というよりpath_providerの動き。下記以外のものは未定義。

  • getTemporaryPath
    GetTempPathの結果。
    基本%TEMP%になると思われる。
  • getApplicationSupportPath
    %APPDATA%\CompanyName\ProductName
    CompanyNameとProductNameはリソースファイル(windows\runner\Runner.rc)の中に定義されているもの。
    例えばこんな感じ。

    テスト中の場合は%APPDATA%\flutter_tester。

    テスト時のsqlデータベースは${workspaceRoot}\sqfliteは.dart_tool\sqflite_common_ffi\databasesになる。
  • getApplicationDocumentsPath
    ドキュメントフォルダ
  • getDownloadsPath
    ダウンロードフォルダ

その他

  • %APPDATA%\.dart
    消しても、VSCodeでDart関連のプロジェクトを開くと毎度作成されているようだった。

Windowsでの開発環境インストール時のTips

上にも書いたけどPubのキャッシュ情報が複数作成される可能性があるため、FLUTTER_ROOTとPUB_CACHE変数をきちんと設定してからインストールおよび設定を開始したほうが無難だと思う。

私的には以下の様にした。

  • FLUTTER_ROOT
    flutterパッケージを配置したフォルダ名。
  • PUB_CACHE
    %FLUTTER_ROOT%\.pub-cache
  • Path
    %FLUTTER_ROOT%\bin
    %FLUTTER_ROOT%\.pub-cache\bin

Pathは%PUB_CACHE%\binが良いのだけど、これだとVSCode中のPowerShellで正しく認識してくれなかったので上の様な設定にした。

コメント

タイトルとURLをコピーしました