LinuxmacOSWindows

Where Does FVM Store Flutter SDK Versions?

FVM caches Flutter SDKs in ~/.fvm by default, with per project pins in .fvmrc and a .fvm symlink inside projects.

Last updated

FVM downloads each Flutter version once into a central cache, then links projects to their pinned release. The .fvmrc file in a project records which version it wants.

Disk use grows per SDK kept, which is the price of reproducible builds. Removing a cached version forces a redownload only for projects pinned to it. Everything else keeps working.

Where FVM stores this, by platform

Linux
~/.fvm

Cached SDK versions in versions subfolders. Projects link through .fvm/flutter_sdk inside each repo. Change the root with FVM_HOME if home is cramped.

macOS
~/.fvm

Same layout on Mac. Homebrew installs share the path. IDE plugins follow the project's .fvm symlink, so switching versions needs no IDE reconfiguration.

Windows
%LOCALAPPDATA%\fvm

Windows cache root with the same versions layout. Long SDK paths collide with Windows limits, so the short default location is deliberate.

Frequently asked questions

how do i free disk space used by fvm

List cached versions with fvm list and remove retired ones with fvm remove. Projects pinned to a deleted version redownload it on next use.

where is the flutter version for my project set

In .fvmrc at the project root, written by fvm use. The .fvm symlink beside it points at the matching cached SDK.

Notice an outdated path? Let us know.