'How to downgrade Flutter SDK (Dart 1.x)

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?



Solution 1:[1]

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

Solution 2:[2]

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

Solution 3:[3]

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

Solution 4:[4]

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

Solution 5:[5]

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 !

Solution 6:[6]

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

Solution 7:[7]

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

Solution 8:[8]

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

Solution 9:[9]

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

Solution 10:[10]

  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

Solution 11:[11]

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

Solution 12:[12]

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

Solution 13:[13]

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

Solution 14:[14]

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

Solution 15:[15]

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.

Solution 16:[16]

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

Solution 17:[17]

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.