243

I upgraded my Flutter SDK and now my project is broken. I need to basically revert back to a Flutter SDK which uses Dart 1.x.

I tried the following in the pubspec.yaml,

environment:
  sdk: ">=1.19.0 <2.0.0"
  flutter: "^0.1.2"

dependencies:
  flutter:
    sdk: flutter

but now the project just simply doesn't build.

Running "flutter packages get" in binformed...
Package binformed requires Flutter SDK version ^0.1.2 but the current SDK is 0.2.5-pre.38.
pub get failed (1)

Do i need to uninstall the SDK and reinstall it?

2
  • See: github.com/flutter/flutter/issues/71723 Commented May 17, 2023 at 10:12
  • This works for me on MacOSX with flutter installed with brew: cd $(dirname $(readlink -f $(which flutter))) && git checkout 3.3.4 Commented Jul 25, 2023 at 13:09

30 Answers 30

333

Flutter is versioned using git. Changing the Flutter version is as simple as changing git branch.

There are 2 different ways:

  • flutter channel <branch> (example: flutter channel stable)

This command is used to change between branches – usually stable/dev/beta/master. We can also put a specific commit id from git.

  • flutter downgrade <version> (example: flutter downgrade v1.2.1)

This command will use a specific version number. You can have the list of the available version numbers using flutter downgrade or here

After this, run any Flutter command (such as flutter doctor), and Flutter will take care of downloading/compiling everything required to run this version.

Sign up to request clarification or add additional context in comments.

9 Comments

And now there is no way to choose which flutter version specifically in downgrade command. executing flutter downgrade v2.0 returns: There is no previously recorded version for channel "stable". Channel "beta" was previously on: 1.26.0-17.3.pre
In my case, I needed to run 'flutter pub upgrade' to run 'flutter build apk --split-per-abi'. After follow all your steps. Thanks
flutter --version
For me it only worked to switch to an older version using "git checkout 1.22.6" in the flutter repository. 1.22.6 refers to the version you want to use.
There is no such command to flutter downgrade to a specific version tag: github.com/flutter/flutter/issues/71723 . As mentioned, use e.g. git checkout 3.0.0 in the flutter repo instead.
|
134

Run the following command to see a list of available versions.

flutter version 

Then choose a version you want to switch to by running

flutter version v1.2.1

To undo and revert back to stable

flutter channel stable
flutter upgrade

7 Comments

I got the error Unable to checkout version branch for version <version> using cmd flutter version <version>.
Did you select a valid version number?
Does this ultimately do the same as @Günter Zöchbauer said? Can someone check and confirm this?
flutter version is deprecated, use flutter downgrade v1.22.0 instead
As of Flutter >2.0 none of these commands works. For eg. flutter version v2.0.0 outputs an error Could not find a command named "version".
|
108

In the Flutter install directory execute

git checkout v0.1.9

then run

flutter doctor

You can check which versions are available in the Flutter GitHub repository https://github.com/flutter/flutter

enter image description here

There is an open feature request to make this easier https://github.com/flutter/flutter/issues/14230

17 Comments

Thanks. That kinda work for the Flutter SDK, but seems that the tooling is still set to Dart 2.0.0? I will mark this as the answer if you could help me out with reverting as well Dart 1.X. (I thought they were related SDK and Dart)
Just deleting the flutter/bin/cache directory should cause them to be regenerated with the current Flutter version.
Sorry, but my knowledge ends here :-/
To get a list of the available tags / versions from the command line, you can use git ls-remote --tags, from your local flutter folder.
My issue is that i can't open interactive maps using map_view plugin in my flutter project, the app keeps crashing everytime i try to open the map, i will update to latest flutter version and try it again.....if it doesn't work, i will probably create a new question for that, or if you have a solution in mind for me, i will be happy to hear it.
|
79

Don't use flutter version vX.X.X, use flutter downgrade instead.

Warning: "flutter version" will leave the SDK in a detached HEAD state. If you are using the command to return to a previously installed SDK version consider using the "flutter downgrade" command instead.

So, you should use

flutter downgrade 

Edit:

If there had been no previous versions installed, the above command would fail. So, if you have a specific version of Flutter that you’d like to switch to, you can use the flutter version command:

flutter downgrade v1.17.0

You can find list of versions here

11 Comments

There is no previously recorded version for channel "stable". Now what?
same. just "upgraded" to 1.7 and it totally broke our project. getting this message also when trying to downgrade.
@ajonno a new version was released yesterday which seems to resolve a number of the previous issues.
@ajonno did you solve problem with downgrade? When I trying to change version by 'version' command, I'm getting error
This no longer with latest flutter 2.x. You have to manually install flutter version from releases published on github.
|
50

To downgrade there are many deprecated commands.

The two that actually work, and I've tested them, are:

flutter downgrade v[flutter build version]

For instance:

flutter downgrade v1.22.6

And the other one: go to your flutter sdk folder, that is your folder named "flutter" and inside it open a new terminal. Then type:

git checkout [flutter build version]

For instance:

git checkout 1.22.3

Then do flutter doctor and you'll confirm you switched correctly.

You can check the versions on: https://flutter.dev/docs/development/tools/sdk/releases?tab=macos

And for details at: https://flutter.dev/docs/release/breaking-changes


If you happen to want to switch channel, just do:

flutter channel [channel]

For instance (choose one of master, stable, dev, beta):

flutter channel stable

And if you want to upgrade again:

flutter upgrade

5 Comments

Note it will only work if you are on the correct channel. For ex: if you are on the stable channel and want to move to a beta version first run flutter channel beta or else the downgrade won't work properly.
After the Flutter2.0 release u can only downgrade to 2.0.1. If u want to downgrade any lower, You would have to use git checkout
on the stable branch, git checkout 1.22.4 and then flutter doctor -v did it for me to get it to download.
i am at 3.3.8, running this with dowgrade v3.3.7 will just revert to 2.0.2, any ideas?
do the git checkout approach. That one always works
20

Inorder for a proper downgrade to any version.

  1. Change to Dev mode

    flutter channel dev

  2. flutter downgrade v(type your version number) eg below.

    flutter downgrade v2.0.6

This worked for me !

2 Comments

i am at 3.3.8, running this with dowgrade v3.3.7 will just revert to 2.0.2, any ideas?
Make sure you don't try this method.
12

Go to the terminal and type the specific version number, for eg -

flutter downgrade v1.22.3

Then just press enter. After fetching the files from the internet, it will ask,

Downgrade flutter to version 1.22.5
? [y|n]:

Type y and it will downgrade to the specific version.

Restart the IDE for the settings to take place.

enter image description here

1 Comment

Does not work if you are currently in flutter > 3.0
12

To solve these errors:

$ flutter version
Could not find a command named "version".
$ flutter downgrade v1.22.6
There is no previously recorded version for channel "stable".

Delete old flutter folder

Download the archive and unzip instead of deleted flutter folder

OR

cd "$(dirname $(which flutter))" then

git checkout . (optional)

git pull origin (optional)

git checkout v1.22.6

flutter doctor

p.s. Don't forget to restart your android studio

2 Comments

use flutter --version.
@icyNerd, the --version flag is only to see the version, but the version param (which in my case doesn't exists and I don't have a clue why) is for change the version of the installed flutter.
12

At the moment, the easiest way to manage flutter versions is through fvm.

  1. Install fvm
brew tap leoafarias/fvm
brew install fvm
  1. Install your version
fvm install x.x.x
  1. Install your version globally (if desired)
fvm global x.x.x

Here's a link to the app guide

https://fvm.app/docs/getting_started/installation

2 Comments

this was the only solution that worked for me trying to switch to v3.22.3
10

These are the flowing step to downgrade any flutter version:

Step 1: cd [your flutter sdk path]

Step 2: git checkout [ enter your version ref ]

To get ref goto the url and copy your desired version ref. https://docs.flutter.dev/development/tools/sdk/releases choose your version ref

Suppose I downgrade version 3.3.2

Step 3: flutter doctor or flutter --version

Comments

8

Just use flutter downgrade v2.8.0 then flutter ask for confirmation

Downgrade flutter to version 1.22.5
? [y|n]:

Type y for Yes to confirm changes

2 Comments

It returns There is no previously recorded version for channel "stable".
You will have to have it installed previously
7
  1. Navigate to your flutter location
  2. git checkout <version number>
  3. flutter doctor -v

Once the flutter doctor command is successful you can go ahead and enjoy the version you wish


to revert back to latest version

  • flutter channel stable
  • flutter upgrade

Comments

4
cd to flutter directory, e.g. /home/elia/snap/flutter/common/flutter or c:\users\user\flutter

then do:

git checkout 3.13.9 , use desired version i.e old version

then

flutter downgrade

1 Comment

flutter downgrade vXX.XX.XX doesn't work (maybe it did in the past, but now it doesn't). This response was the most up-to-date and accurate one as for May 2025.
3

All the answers are outdated and not working after the release of flutter 3.0. My solution is somewhat complicated but will still work in May 2022 and after.

I will show you how to downgrade from flutter 3 to Flutter 1.22.6.

  1. the first step is to locate where you have to install flutter files when you have installed them for the 1st time. Like mine is located in c:\src\flutter.

  2. Cut the flutter folder and paste it somewhere. (note:- you have shutdown your android studio/vs code if running)

  3. go to Flutter SDK releases and download the desired flutter version you want. I choose flutter 1.22.6 for windows.

  4. now extract the downloaded flutter zip and paste in c:\src\flutter (or wherever your flutter was installed previously). (don't worry if you're thinking that your Environment Variables path will change, so that is not true, it will still work. you don't have to change anything in Environment variables)

  5. After pasting the flutter extracted folder open android studio and go to File/Setting/language and framework/flutter and correct the Flutter SDK path to C:\src\flutter.(as shown in the image).

Flutter SDK path 6. Now press apply and run flutter --version

Comments

3

1.flutter channel <branch> (example: flutter channel stable);

2.flutter downgrade <version> (example: flutter downgrade v1.2.1);

3.git checkout <version> (example: git checkout 1.2.1).

1 Comment

Welcome to Stack Overflow! Please read How to Answer and edit your answer to contain an explanation as to why this code would actually solve the problem at hand. Always remember that you're not only solving the problem, but are also educating the OP and any future readers of this post.
3

It work for me. Follow these steps:

  1. Navigate to your Flutter SDK directory:

cd /Library/development/flutter

  1. Fetch all tags from the Flutter repository:

git fetch --all --tags

  1. Checkout the specific version tag:
    for example:

git checkout tags/3.19.0

Finally, run flutter doctor to ensure everything is set up correctly

Comments

2
  1. Download Flutter SDK release: flutter_windows_1.17.0-stable: https://flutter.dev/docs/development/tools/sdk/releases
  2. Replace the existing Flutter folder to this version
  3. Make sure that environment variables and Flutter + Dart Settings on your IDE are still tied to this folder/path

Comments

2

Just flutter downgrade is enough, it will downgrade to previous stable version.

2 Comments

No exactly, it will downgrade to the previous stable installed version.
@ Néstor No it won't, it will downgrade to A previous stable version, not THE previous stable version. Right now the latest version is 3.29, which is what I'm using, but if I use downgrade it will go to 3.19.5. If I try to specify a version is still goes to the same version. Obviously there are several stable versions after 3.19.5.
2

I find it a little tough to switch (upgrade/downgrade) to a specific Flutter version from the command line. Some of the answers here are outdated.

I prefer to download the SDKs for different versions from here manually.

  • Let's say I download 2.0.1, 2.0.5 and 2.0.6.
  • 2.0.1 is the current Flutter SDK version for me.

To switch to 2.0.5, delete the current Flutter SDK (the one with the blue icon) and unzip flutter_macos_2.0.5-stable.zip. Then run flutter clean followed by flutter doctor to confirm that everything worked correctly.

This has the benefit of not having to change any paths or having to re-download the entire SDK every time you want to switch.

On macOS, if you get system warnings for not being able to run dart or gentool, then press Allow anyway under System Preferences > Security & Privacy

enter image description here

Comments

2

To downgrade your flutter version:

Run flutter downgrade v2.5.3 or whatever flutter version you want from here.


If it resulted in any error like

There is no previously recorded version for channel "stable".

or that there is no previous version,

then, make sure to switch to the correct branch {stable, master, dev, beta} using the following command:

flutter channel master 

Finally, Run flutter doctor to check that everthing went well.

2 Comments

According to flutter cli docs: docs.flutter.dev/reference/flutter-cli flutter downgrade does not accept a version number
don't use in 2022, it will upgrade to flutter 3
2

The simplest way to change your flutter version is to:

  1. Navigate to this link and download the flutter version you want.
  2. Extract the files and replace your older flutter directory with them.
  3. If you were using flutter already then no need to redefine the PATH, else, make sure that environment variables are still tied to this folder/path.
  4. Run flutter --version or flutter doctor to check that everything went ok.

Comments

2

I found 2-steps easy solution to migrate to any specific version of Flutter.

  1. Navigate to Flutter repo path (Yes, the one we download from official website and unzipped it) in a terminal

  2. Run the following command : git checkout 2.10.5 && flutter precache

Note: Verify & change the Flutter version from here

  • Open Terminal and Navigate to Flutter folder

Open Terminal and Navigate to Flutter folder

  • Run the following command with the Flutter version you want to switch to:

git checkout 2.10.5 && flutter precache

Reference: https://github.com/flutter/flutter/issues/64238#issuecomment-678605514

2 Comments

how can i navigate to the flutter repo, i am doing cd C:\src\flutter\bin but it is doing nothing
@ᴅᴇʙᴊᴇᴇᴛ You don't need to navigate till the bin folder. You need to navigate only till flutter folder
2

Downgrade to a specific version on stable channel

  1. Locate flutter path:
whereis flutter
  1. On flutter folder execute
# clean the repo
git clean -fdx
git reset --hard
git fetch --all --prune

# list available tags starting with 2.10
git tag  | grep 2.10

# checkout to stable on tag
git checkout stable
git reset --hard 2.10.5
  1. Finally download the flutter tools
flutter doctor

1 Comment

Yes. A more compact version, still leaving you on stable channel after downgrading: cd <flutter-folder> flutter channel stable flutter upgrade git reset --hard 3.7.12 flutter doctor
2

The only thing that worked for me was manually select the tag using git

List of available versions and their release dates can be found here

To find where flutter is stored in your computer run

flutter sdk-path

Inside the folder checkout a tag with your version number, for example if you want to switch to version 3.0.0

git tag -l "*3.0.0*"

Find the correct name in the output (will probably by the same or with v in the start)

git checkout <tag_name>

Run flutter --version to make sure the version changed and flutter doctor to check the flutter is installed correctly

Comments

1

if you are using brew (macos)

you can create rb file and use brew to install or downgrade flutter

create file with name flutter.rb

cask "flutter" do
  version "2.2.0"

  url "https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_#{version}-st$
      verified: "storage.googleapis.com/flutter_infra_release/"
  name "Flutter SDK"
  desc "UI toolkit for building applications for mobile, web and desktop"
  homepage "https://flutter.dev/"

  livecheck do
    url "https://storage.googleapis.com/flutter_infra_release/releases/releases_macos.json"
    regex(%r{/flutter[._-]macos[._-]v?(\d+(?:\.\d+)+)[._-]stable\.zip}i)
  end

  auto_updates true

  binary "flutter/bin/dart"
  binary "flutter/bin/flutter"
end

then use brew install ./flutter.rb to install flutter or downgrade flutter version

Comments

1

This solutions works in 2021

Go to your flutter SDK folder, which is your folder named "flutter" and inside it open a new terminal. Then type:

git checkout (your flutter version) then, run flutter doctor After this check your version.

enter image description here

Comments

1

The easiest way is to go to your flutter sdk, if you're on Linux open terminal and run flutter sdk-path then cd to the sdk path. run git checkout <ref_of_sdk_you_want>. access the sdk versions here. after the switch, run flutter doctor and restart your IDE, that's it.

You can switch between versions using this way.

Comments

0
  1. Check your flutter version [whether it's main/stable/beta/master] {flutter --version}

  2. https://docs.flutter.dev/release/archive?tab=linux look here for stable versions

  3. use {flutter channel stable} which will revert back to latest stable flutter version.

1 Comment

As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
0

The simple thing you can do is, go to your folder where you have the Flutter SDK, and enter the following command in the terminal.

git checkout <flutter-version>

Comments

-1

Steps to change the Flutter version is as simple as changing the git branch.

  1. flutter channel <branch> (example: flutter channel stable)

This command is used to change between branches – usually stable/dev/beta/master. We can also put a specific commit id from git.

  1. flutter downgrade <version> (example: flutter downgrade v1.2.1)

This command will use a specific version number. You can have the list of the available version numbers using flutter downgrade

After this, run any Flutter command (such as flutter doctor), and Flutter will take care of downloading/compiling everything required to run this version.

2 Comments

did you read the question?
Following only 2 step, Solved my issue, Thank you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.