Search packages, repositories and app categories

Package detailsv4.3.2

fvm

A simple cli to manage Flutter SDK versions per project. Support channels, releases, and local cache for fast switching between versions.

Windows
30-day downloads
197K
Likes
726
Pub points
130

Install package

flutter pub add fvm

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

FVM (Flutter Version Manager) is a command-line tool that simplifies managing multiple Flutter SDK versions across projects. It enables developers to switch between stable, beta, dev, and master channels, as well as specific releases, with ease. FVM caches Flutter SDKs locally for fast switching and ensures each project uses its designated version. Ideal for teams working on multiple Flutter projects with different SDK requirements.

Use cases

  • Managing multiple Flutter versions in a single development environment
  • Switching between stable and beta Flutter channels
  • Ensuring consistent SDK versions across team members
  • Quickly testing apps against different Flutter releases
  • Setting up CI/CD pipelines with specific Flutter versions

Key features

  • Per-project Flutter SDK version management
  • Support for all Flutter channels and releases
  • Local SDK caching for faster switching
  • Simple CLI interface
  • Automatic version resolution via .fvm/config file

Suitable for

  • Developers working on multiple Flutter projects
  • Teams requiring consistent Flutter SDK versions
  • CI/CD environments
  • Cross-version testing and debugging

Considerations

  • Requires setup of .fvm/config file per project
  • Limited to Windows platform as listed
  • May require additional configuration in IDEs
  • Not compatible with Flutter tools that bypass the SDK path

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

fvm

GitHub stars Pub Version Pub Likes Pub Points All Contributors MIT License Codecov Awesome Flutter

FVM manages Flutter SDK versions per project. Switch between Flutter versions instantly without reinstalling, making it easy to test new releases and maintain consistent builds across your team.

Why FVM?

  • Need for simultaneous use of multiple Flutter SDKs.
  • SDK testing requires constant channel switching.
  • Channel switches are slow and need repeated reinstalls.
  • Difficulty managing the latest successful SDK version used in an app.
  • Flutter's major updates demand total app migration.
  • Inconsistencies occur in development environments within teams.

For more information, read the Getting Started guide.

Release Process (For Maintainers)

FVM uses GitHub releases to trigger automated deployments across all platforms:

Creating a New Release
  1. Ensure main branch is ready

    • All changes merged and tested
    • Version will be set automatically from release tag
  2. Create GitHub Release

    • Go to GitHub Releases
    • Click "Create a new release"
    • Choose tag: v4.0.0-beta.2 (follows semver with 'v' prefix)
    • Write release notes in GitHub editor
    • Click "Publish release"
  3. Automated Deployment

    • release.yml triggers automatically
    • Deploys to: pub.dev, GitHub binaries, Homebrew, Chocolatey, Docker
    • Monitor progress in Actions tab

Dart SDK requirements: Day-to-day development now targets the repository SDK constraint (>=3.6.0 <4.0.0). Release automation lives under tool/release_tool/ and requires Dart SDK >=3.8.0. CI pins this higher tool chain via the RELEASE_DART_SDK environment variable (currently 3.9.0) so it matches the versions packaged for Homebrew and other installers. If you run release tasks locally, switch to a Dart SDK 3.8.0 or newer before executing commands from tool/release_tool/.

Emergency Releases

For hotfixes or emergency releases:

  1. Update version manually in pubspec.yaml
  2. Use individual platform workflows via manual dispatch:
    • deploy_homebrew.yml for Homebrew updates
    • deploy_docker.yml for Docker deployment
    • Individual platform deployments as needed

For complete emergency deployment, create a GitHub release as normal.

See Workflow Documentation for detailed information.

Contributors


Checkout Flutter Sidekick. Read more about it here.

Troubleshooting

Please view our FAQ.

License

This project is licensed under the MIT License; see LICENSE file for details.

Categories

Dependencies

Dependency list 22 items

Source repository

Projects using this package