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: flutterbut 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?
18 Answers
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.
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.1To undo and revert back to stable
flutter channel stable
flutter upgrade 7 In the Flutter install directory execute
git checkout v0.1.9then run
flutter doctorYou can check which versions are available in the Flutter GitHub repository
There is an open feature request to make this easier
16Don'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.0You can find list of versions here
10To 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.6And 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.3Then do flutter doctor and you'll confirm you switched correctly.
You can check the versions on:
And for details at:
If you happen to want to switch channel, just do:
flutter channel [channel]For instance (choose one of master, stable, dev, beta):
flutter channel stableAnd if you want to upgrade again:
flutter upgrade 3 Inorder for a proper downgrade to any version.
Change to Dev mode
flutter channel dev
flutter downgrade v(type your version number) eg below.
flutter downgrade v2.0.6
This worked for me !
0Go to the terminal and type the specific version number, for eg -
flutter downgrade v1.22.3Then 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.
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
2At the moment, the easiest way to manage flutter versions is through fvm.
- Install fvm
brew tap leoafarias/fvm
brew install fvm- Install your version
fvm install x.x.x- Install your version globally (if desired)
fvm global x.x.xHere's a link to the app guide
Just use flutter downgrade v2.8.0then flutter ask for confirmation
Downgrade flutter to version 1.22.5
? [y|n]:Type y for Yes to confirm changes
- Download Flutter SDK release: flutter_windows_1.17.0-stable:
- Replace the existing Flutter folder to this version
- Make sure that environment variables and Flutter + Dart Settings on your IDE are still tied to this folder/path
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.
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.5and2.0.6. 2.0.1is 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
Just flutter downgrade is enough, it will downgrade to previous stable version.
1if 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 " verified: "" name "Flutter SDK" desc "UI toolkit for building applications for mobile, web and desktop" homepage "" livecheck do url "" regex(%r{/flutter[._-]macos[._-]v?(\d+(?:\.\d+)+)[._-]stable\.zip}i) end auto_updates true binary "flutter/bin/dart" binary "flutter/bin/flutter"
endthen use brew install ./flutter.rb to install flutter or downgrade flutter version
The simplest way to change your flutter version is to:
- Navigate to this link and download the flutter version you want.
- Extract the files and replace your older flutter directory with them.
- 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.
- Run
flutter --versionorflutter doctorto check that everything went ok.
I found 2-steps easy solution to migrate to any specific version of Flutter.
Navigate to Flutter repo path (Yes, the one we download from official website and unzipped it) in a terminal
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
- Run the following command with the Flutter version you want to switch to:
git checkout 2.10.5 && flutter precache
Reference:
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.