FVM
fvm.app
What it is
FVM manages Flutter SDK versions by project, allowing teams to keep builds consistent while using different versions across projects. A project’s `.fvmrc` file records its selected Flutter version and can include project-specific settings and flavors. FVM switches among installed SDKs without downloading them again. It can identify unreferenced versions, preview cleanup candidates, and remove unused SDKs with `fvm cleanup`. The documentation describes commands suitable for CI/CD automation and support for custom Flutter repositories. FVM provides packages for macOS, Linux, and Windows, with architecture availability varying by system. Installation options include a shell script, Homebrew, Chocolatey, Pub, and standalone packages. FVM detects VS Code and updates `.vscode/settings.json` for the Dart Code extension to use the project’s managed SDK. Android Studio and IntelliJ settings must be configured separately to point to the FVM SDK path. JSON API commands expose installed SDKs, releases, cleanup data, environment context, and project configuration. FVM stores known project roots in a machine-local file and says it does not scan disks for projects. The project is licensed under MIT.
Spec sheet
- Purpose
- FVM manages multiple Flutter SDK versions and lets projects pin a version for consistent app builds.Read 2 Oct 2026 · fvm.app
- License
- The project is licensed under the MIT License.Read 1 Oct 2026 · github.com
- Maker
- The site footer credits Leo Farias; it does not state a headquarters or founding date.Read 2 Oct 2026 · fvm.app
- Automation
- The maker describes FVM as CI/CD friendly and provides commands for automation.Read 2 Oct 2026 · fvm.app
- Cache management
- FVM can show SDKs used by known projects and preview unused SDKs and patch upgrades before cleanup.Read 2 Oct 2026 · fvm.app
- CI/CD
- The documentation describes FVM as CI/CD friendly with commands suitable for automation.Read 1 Oct 2026 · fvm.app
- Custom forks
- FVM supports custom Flutter repositories through fork configuration.Read 1 Oct 2026 · fvm.app
- Custom repositories
- FVM supports custom Flutter repositories.Read 2 Oct 2026 · fvm.app
- Fast switching
- FVM changes SDK versions instantly without re-downloading them.Read 1 Oct 2026 · fvm.app
- IDE limitation
- FVM does not change Android Studio or IntelliJ settings, which must be configured to use the FVM SDK path.Read 1 Oct 2026 · fvm.app
- Install methods
- FVM can be installed with its shell script, Homebrew, Chocolatey, Pub or standalone GitHub packages.Read 1 Oct 2026 · fvm.app
- JSON API
- FVM provides command-line JSON API commands for listing SDKs and releases, cleanup information, environment details, and project configuration.Read 2 Oct 2026 · fvm.app
- Local data handling
- FVM stores known project roots in a machine-local `projects.json` file, never scans disks and stores absolute paths.Read 1 Oct 2026 · fvm.app
- Local project data
- FVM says it keeps known project-root paths in a machine-local file and does not scan disks for projects.Read 2 Oct 2026 · fvm.app
- MCP integration
- The Dart MCP server can be pointed at `.fvm/flutter_sdk` so AI assistants use the Flutter SDK pinned by FVM.Read 1 Oct 2026 · fvm.app
- Other integrations
- The documentation covers Android Studio and IntelliJ configuration, Melos monorepos, and a Dart MCP server setup.Read 2 Oct 2026 · fvm.app
- Per-project versions
- Each project can use a different Flutter SDK version through FVM configuration.Read 1 Oct 2026 · fvm.app
- Project configuration
- The `.fvmrc` file stores a project's Flutter version and can include project-specific settings and flavors.Read 2 Oct 2026 · fvm.app
- Support and community
- The site points users to documentation and GitHub feedback, and describes the project as driven by open-source community contributors.Read 2 Oct 2026 · fvm.app
- Supported platforms
- Standalone packages support macOS x64/arm64, Linux x64/arm64/riscv64 and Windows x64/arm64.Read 1 Oct 2026 · fvm.app
- Supported systems
- The installation page lists support for macOS, Linux, and Windows, with architecture support varying by platform.Read 2 Oct 2026 · fvm.app
- Switching
- It lets developers switch between installed SDK versions without re-downloading them.Read 2 Oct 2026 · fvm.app
- Team consistency
- FVM uses `.fvmrc` so team members can use the same Flutter version for a project.Read 2 Oct 2026 · fvm.app
- VS Code integration
- FVM can update VS Code settings to point to the Flutter SDK version managed for a project.Read 2 Oct 2026 · fvm.app
Plans and prices
Strong points and limits
Strong points
- Pins project Flutter versions in `.fvmrc`.
- Switches among installed SDKs without re-downloading.
- Can preview and remove unused SDK versions.
- Provides commands for CI/CD automation.
- Supports macOS, Linux, and Windows.
Limits
- Android Studio settings require separate configuration.
- IntelliJ settings require separate configuration.
- Architecture support varies by platform.
Who it suits
FVM suits Flutter developers and teams that need per-project SDK versions or automated CI/CD commands. It may be useful where VS Code is used, though Android Studio and IntelliJ need separate SDK configuration.
Verdict
FVM provides per-project Flutter version control, cleanup, and automation support across three desktop operating systems. Account for separate Android Studio or IntelliJ setup if those are part of the workflow.
Where Specifiction places it
- Development Environment Managers#4 of 508.7