Flutter - Flutter Version Management (fvm) package not working in windows - flutter

I just added the the fvm package to switch the flutter channel from stable to master without downloading sdk components every time when switching flutter channels.
I have followed the step written in readme.md for switching the channel.
I have set the following path in my environment variables.
D:\Program_Files\FlutterSDK\SDK\flutter\bin;
D:\Program_Files\FlutterSDK\SDK\dart-sdk\bin;
C:\Users\User\AppData\Roaming\Pub\Cache\bin;
Now, i have opened my first project in which i want to use "flutter SDK's master channel". But, whenever i try to use the command "fvm use master". It's not working.
It is giving me an error like,
'fvm' is not recognized as an internal or external command,
So, can anyone suggest a solution?
Thanks.

try :
pub global run fvm:main
pub global run fvm:main use VERSION

Hi adding in your path:
%LOCALAPPDATA%\Pub\Cache\bin
More info:
https://dart.dev/tools/pub/cmd/pub-global#running-a-script-from-your-path

In my case fvm commands did not work on Windows even tho I checked everything. It gave missing fvm.exe file and other errors. If you also stuck there you can use this way. Only way I managed to get it work is to use longer commands like these:
flutter pub global run fvm:main list
Seems like all fvm commands:
config Set configuration for FVM
flutter Proxies Flutter Commands
install Installs Flutter SDK Version
list Lists installed Flutter SDK Version
releases Lists Flutter SDK releases.
remove Removes Flutter SDK Version
use Which Flutter SDK Version you would like to use
version Prints the currently-installed version of FVM
Works like this, you just need to add the fvm command to the ending of this - flutter pub global run fvm:main. So add any of them like this form:
flutter pub global run fvm:main releases
flutter pub global run fvm:main install 2.2.0
flutter pub global run fvm:main use 2.2.0

are you add "C:\flutter\bin\cache\dart-sdk\bin" to path?
if you in windows you should run your text editor as administrator as following

In my case Error Message was
Usage Error: Flutter version null is not installed
To fix this:
I have activated FVM by pub global activate fvm;
Printed installed fvm list by fvm list, it should give result as the image below:
Selected which Flutter SDK version to use by running fvm use 1.22.0 (in my case 1.22.0, it may differ according to your desired version) command, It will download SDK if it is not installed yet;
Now you can check is flutter running in your project by running flutter;
Also, you can check if the Flutter SDK version set by calling again fvm list.
The tick means, that version is running in your project.

Related

fvm keep requesting change flutter path

I am trying to use fvm on Windows.
Because my projects use mixed of languages, I need to change the version globally.
The problem is that it keeps asking me to change the flutter path.
At first,
So, I moved flutter path down to the bottom of fvm\default\bin.
Here is how I setup the path.
Now, if I change global flutter version again, the path is changed as the version of fvm, not the default... which is not in the path at all.
If it is just the message, I can ignore, but when I try to open up my project and try flutter --version the global version is not changed.
Can anybody guess what is the problem?
I did install with flutter pub global activate fvm.
I tried deactivate and activate again, removed reset the path in various ways, but keep getting same issue.
Another thing is I am keep getting Can't load Kernel binary: Invalid SDK hash message. I just assume this is kind of related to the first issue, but not of it.
Thanks.
I guess I solved this issue.
First of all, I had flutter installed version 1.22.6 at the beginning. and installed fvm with flutter pub global activate fvm. Then, the fvm version 1.3.7 installed. If I try to install flutter version 3.x.x, it fails with message like Internal Error: Could not infer Flutter Version 3.x.x or fvm version 1.3.7 doesn't support ~~~ something like that. So, I upgraded the actual flutter installed to the latest version, and also upgraded fvm to the latest version. Then, it never go back to 1.22.6 globally with the fvm.
So, I reinstalled the flutter version 1.22.6, complete uninstall fvm by flutter pub global deactivate fvm and also deleting fvm folder.(if you don't delete the folder and reinstall, it will install the same version of fvm you previously installed) And reinstall with flutter pub global activate fvm. Then, it will then install fvm 1.3.7 version. With this version of fvm, I couldn't install 3.0.2, but could install stable
but using different commands for this fvm 1.3.7 version.... like fvm use stable --global... you can find some commands here
it was because of the actual flutter version installed and fvm version I guess.... Please comment below if I was wrong.

How do I roll back to Dart 2.10.4 with Flutter? [duplicate]

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?
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.1
To undo and revert back to stable
flutter channel stable
flutter upgrade
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
There is an open feature request to make this easier https://github.com/flutter/flutter/issues/14230
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
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
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 !
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.
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
At 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.x
Here's a link to the app guide
https://fvm.app/docs/getting_started/installation
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
Download Flutter SDK release: flutter_windows_1.17.0-stable: https://flutter.dev/docs/development/tools/sdk/releases
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
Just flutter downgrade is enough, it will downgrade to previous stable 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.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
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 --version or flutter doctor to 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: https://github.com/flutter/flutter/issues/64238#issuecomment-678605514
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.
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.
Cut the flutter folder and paste it somewhere. (note:- you have shutdown your android studio/vs code if running)
go to Flutter SDK releases and download the desired flutter version you want. I choose flutter 1.22.6 for windows.
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)
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).
6. Now press apply and run flutter --version
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
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.
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.
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
Suppose I downgrade version 3.3.2
Step 3:
flutter doctor or flutter --version
Downgrade to a specific version on stable channel
Locate flutter path:
whereis flutter
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
Finally download the flutter tools
flutter doctor
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.
Steps to change the Flutter version is as simple as changing the git branch.
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
After this, run any Flutter command (such as flutter doctor), and Flutter will take care of downloading/compiling everything required to run this version.

I cannot seem to download/install the carousel_slider package through pubspec.yaml

i have ran flutter pub get multiple times but I'm still not able to download the carousel_slider package
So far I've tried:
Running flutter clean
Running flutter packages get
Running flutter packages get
Restarting my computer
Updated flutter
Tried opening it in VSCode instead
Added another package (but that did install, I could see it in the Dart Packages)
I see that is working well, but you can try deleting the pubspect.lock
In the terminal write this commands:
flutter clean
flutter packages get

Flutter Dart on windows 10

When I am running any command that uses dart the response is always as follows;
building flutter tool...
Running Pub upgrade...
The current Dart SDK version is 2.10.0-0.0.dev.flutter-9dca49e71e.
Because flutter_tools depends on collection >=1.15.0-nnbd <1.15.0-nullsafety.2 which requires SDK version >=2.9.0-18.0 <=2.9.10, version solving failed.
I am not able to switch the version nor the channel as those commands run through the same response.
I tried to uninstall flutter and dart, but I have only gotten back to the same issues.
Any help?
Navigate to where to your flutter install directory e.g. C:\Tools\Flutter and do a git pull.
After that you should be able to run any command, such as flutter --help and the Dart SDK will be on the correct version.
This can be verified by running flutter upgrade
I just needed to update my Path ENV Variable

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?
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.1
To undo and revert back to stable
flutter channel stable
flutter upgrade
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
There is an open feature request to make this easier https://github.com/flutter/flutter/issues/14230
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
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
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 !
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.
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
At 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.x
Here's a link to the app guide
https://fvm.app/docs/getting_started/installation
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
Download Flutter SDK release: flutter_windows_1.17.0-stable: https://flutter.dev/docs/development/tools/sdk/releases
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
Just flutter downgrade is enough, it will downgrade to previous stable 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.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
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 --version or flutter doctor to 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: https://github.com/flutter/flutter/issues/64238#issuecomment-678605514
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.
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.
Cut the flutter folder and paste it somewhere. (note:- you have shutdown your android studio/vs code if running)
go to Flutter SDK releases and download the desired flutter version you want. I choose flutter 1.22.6 for windows.
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)
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).
6. Now press apply and run flutter --version
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
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.
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.
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
Suppose I downgrade version 3.3.2
Step 3:
flutter doctor or flutter --version
Downgrade to a specific version on stable channel
Locate flutter path:
whereis flutter
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
Finally download the flutter tools
flutter doctor
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.
Steps to change the Flutter version is as simple as changing the git branch.
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
After this, run any Flutter command (such as flutter doctor), and Flutter will take care of downloading/compiling everything required to run this version.