3月末にFlutterの環境をローカルマシンに構築して、最近Cドライブが肥大化してきたなと感じ、Flutterのファイル類はどこに保存されるのだろうかと思うようになった。
今回はWindows版だけどFlutterで使われるファイルがどこに存在するのかちょっと調べてみた。
- 以下の情報は、Flutterのバージョン2から3に移行した環境で、かつFVMを使用したものでのもの。
バージョン3以降で新規構築とかFVMを使わなかった場合については違う可能性もある。
しらべたもの
今回調べたものは以下の通り。
- Flutterの開発環境
- PubDevのキャッシュ情報
- Dartサーバー
- プログラム実行時のファイル保存先
Flutter開発環境
上記ページにあるzipファイルを保存する場所。
例えばとして「C:\src\flutter」に展開するといいよと書かれているが、設定可能なフォルダは権限昇格を必要としない場所であればどこでもいい。
VSCodeなどで利用するのは、「展開フォルダ\bin」にある実行可能ファイルになるので、インストール手順書には、展開後 bin を環境変数のPATHに設定すると記述されている。
ちなみに、展開されたフォルダに関しては環境変数FLUTTER_ROOTとしてFlutter内で利用している。ただFLUTTER_ROOTについての情報はほとんどなかった。
上記にちょびっと書かれていたのだけど、FlutterのGithub上ではそれなりのコード中に書かれていた。ほんと何なんだろうか。
Pubのキャッシュ情報
pub addやpub globalで読み込んだパッケージ情報の保存場所。
これに関しては2か所あった。ちなみになぜ2か所になったのかは不明。
検索してみたのだけど、情報ヒットしなかった。
- %LOCALAPPDATA%\Pubの下
こちらはpub globalで取り込んだパッケージ類が保持される場所、もしくはfvmでaddしたパッケージが保存される。
こちらは環境変数PUB_CACHEで指定することも可能。
Glossary of package termsA glossary of terms relating to Dart's package management tool, pub. - %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で正しく認識してくれなかったので上の様な設定にした。
コメント