A Complete Guide to Using Flutter Version Management (FVM)

Yawar Osman
3 min readDec 28, 2023

--

In this detailed Medium article, we’ll explore the intricacies of Flutter Version Management (FVM), a vital tool for Flutter developers. FVM simplifies the process of handling multiple Flutter SDK versions on a per-project basis, allowing for more efficient and tailored project development.

Introduction to FVM

FVM, short for Flutter Version Management, is a command-line interface (CLI) that enables developers to manage and switch between different Flutter SDK versions for each project. This flexibility is particularly useful when you need to test your applications against various Flutter releases.

Why You Need FVM

Working with multiple Flutter projects often requires different SDK versions. Using FVM, you can:

  • Test your apps against new Flutter releases.
  • Manage multiple Flutter channels and releases.
  • Cache SDK versions locally, saving time on setup.
  • Specify versions for projects without upgrading globally.

Installation and Setup

Step 1: Verify Dart Installation

Ensure Dart is installed on your system:

$ dart --version

Step 2: Install FVM

Install FVM using Dart:

$ dart pub global activate fvm

Note: Activate FVM using dart not flutter pub, especially if you plan to use the --global flag.

FVM Commands and Usage

Listing Flutter Releases

To view available Flutter releases:

$ fvm releases

Installing an SDK Version

Install a specific Flutter release or channel:

$ fvm install stable
$ fvm install 2.0.3

Use --skip-setup to skip the Flutter setup after installation.

Project Configuration with FVM

To install a version specified in your project config:

$ fvm install

Listing Installed Versions

View all installed versions:

$ fvm list

This also shows the storage location of the SDK versions.

Removing an SDK Version

To remove a version:

$ fvm remove <version>

Upgrading the Current SDK Version

Upgrade your current Flutter SDK version:

$ fvm flutter upgrade

Configuring Your IDE with FVM

Android Studio

  1. Copy the path of the FVM symbolic link in your project directory.
  2. Open Languages & Frameworks -> Flutter in Android Studio.
  3. Change the Flutter SDK path to the copied path.
  4. Restart Android Studio.

VSCode

For VSCode, modify your settings.json:

Listing All Versions

{
"dart.flutterSdkPaths": ["/path/to/fvm/versions"]
}

Specifying Selected Versions

{
"dart.flutterSdkPaths": [
"/path/to/fvm/versions/stable",
"/path/to/fvm/versions/dev"
]
}

Dynamic SDK Switching

{
"dart.flutterSdkPaths": [".fvm/flutter_sdk"]
}

Excluding FVM from Search

{
"search.exclude": {
"**/.fvm": true
}
}

To switch versions in VSCode, use the Flutter: Change SDK command.

Pros of Using FVM

  • Flexibility: Easily switch between SDK versions per project.
  • Local Caching: Saves time by avoiding repeated downloads and setups.
  • Isolation: Different projects can use different SDK versions without interference.
  • Easy Version Control: Ideal for collaborative projects where SDK version consistency is crucial.

Conclusion

FVM is an invaluable tool for Flutter developers, streamlining the management of different Flutter SDK versions. By following this guide, you can efficiently manage your Flutter environments, ensuring compatibility and consistency across your projects.

Remember to periodically check for updates to FVM and the Flutter SDKs to stay current with the latest features and improvements in Flutter development.

--

--

Yawar Osman
Yawar Osman

Written by Yawar Osman

Project Manager || Software Developer || Team Leader || Flutter Developer

Responses (1)