How to Upgrade and Downgrade Flutter Version

Managing Flutter Versions

by Ans Ali

Flutter is an evolving framework, with regular updates that bring new features, bug fixes, and performance improvements. However, there are times when you may need to downgrade your Flutter version, whether due to compatibility issues or specific project requirements.

Prerequisites

Before you begin, make sure you have Flutter installed on your system. You can verify this by running:

flutter --version

If Flutter is not installed, you can download it from flutter.dev and follow the setup instructions for your platform (Windows, macOS, or Linux).

Checking Your Current Flutter Version

Before upgrading or downgrading, checking your current Flutter version is helpful.

To check the current version of Flutter installed:

flutter --version

This command will display the installed Flutter version, the Dart SDK version and other system details.

Upgrading Flutter

Step 1: Switch to a Stable Channel

If you use a different Flutter channel (such as beta or dev) and want to upgrade to the latest stable release, you should switch to the stable channel. You can check which channel you're currently using by running:

flutter channel

To switch to the stable channel, run:

flutter channel stable

Step 2: Running the Upgrade Command

Once you are on the stable channel, you can upgrade Flutter by running the following command:

flutter upgrade

This will update Flutter to the latest version available on the selected channel.

Downgrading Flutter

If you need to use a previous version of Flutter, you can downgrade using the flutter command.

Step 1: Check Available Versions

To see the commit history of available versions, run:

flutter downgrade

This will take you to the last version you were using before upgrading. However, you can manually specify a specific version if you want to downgrade.

Step 2: Downgrade to a Specific Version

You can specify a particular version by finding its commit hash from the Flutter GitHub repository. After finding the hash of the desired version, run:

git checkout <commit-hash>

After checking out to the specific commit, run:

flutter doctor

This command ensures that all Flutter dependencies are properly set up.

Downgrading Example

Let’s say you want to downgrade to a specific Flutter version (for example, Flutter 2.5.3). You can do this by checking out its commit hash:

git checkout ffb2ecea52b48b27f0f2871e49cdbec1b4dbf0fc

Then run flutter doctor to set everything up.

Managing Flutter Versions with fvm

An alternative and easier way to manage multiple versions of Flutter is by using the Flutter Version Management tool (fvm). This allows you to easily switch between versions without manually changing branches or committing hashes.

Step 1: Install fvm

To install fvm, run the following command:

dart pub global activate fvm

Step 2: Install a Specific Flutter Version

To install a specific Flutter version, you can use the fvm command:

fvm install 2.5.3

This will install Flutter 2.5.3 (or any version you specify).

Step 3: Use a Specific Version for Your Project

To use a specific version of Flutter for your project, run:

fvm use 2.5.3

Now, whenever you run a Flutter command in this project directory, it will use version 2.5.3.

Step 4: Run Flutter Commands with fvm

If you want to run any Flutter command using the version managed by fvm, simply prepend fvm to the command:

fvm flutter run

This ensures you're using the correct Flutter version for your project.

Wrap-Up

Upgrading or downgrading Flutter is relatively straightforward with the flutter command or by using tools like fvm for version management. Depending on your project needs, you can switch between stable releases or even specific versions, ensuring that your development environment matches your project’s requirements.

By understanding how to manage your Flutter versions, you'll be well-equipped to handle compatibility issues, test new features, or maintain legacy applications with ease.

Enhance Your Flutter Skills

Stay tuned to our blog for more insights on Flutter development.

How to Use InheritedWidget in Flutter