首先,这是在没有网络问题的前提下。
查看当前所有的flutter 稳定版 stable,查看flutter和dart的对应版本
flutter项目查看当前依赖三方库的版本和可升级版本
flutter pub outdated
一、安装和卸载
卸载
brew uninstall fvmbrew untap leoafarias/fvm
安装
brew tap leoafarias/fvmbrew install fvm
安装的时候,如果失败,网络问题很大概率。这个哈哈哈哈,自行解决。
多换几个点。
当我们安装成功,这个路径应该存在的,/Users/你的用户名/fvm ,能看到有一个fvm的文件夹。此时,/Users/你的用户名/fvm/versions 路径下就是存放你的各种flutter sdk 版本。
如果是第一次使用fvm,流程大概就是:
-
1、安装fvm
-
2、配置下环境变量
-
3、install 几个flutter的版本
-
4、指定一个全局的flutter版本
-
5、配置下vscode或者android studio
-
6、验证使用fvm 切换flutter版本,实现给指定工程配置指定flutter版本
查看fvm的版本 (验证是否安装成功)
fvm --version
fvm --version
2.4.1
注意,这是fvm的版本,不是flutter版本。
配置环境变量
编辑~/.bash_profile
如果是zsh,编辑~/.zshrc
比如在.zshrc里添加
# flutter sdk
export FVM_HOME="$HOME/fvm"
$FVM_HOME/default/bin:$PATH"
# dart sdk
export PATH=${PATH}:~/fvm/default/bin/cache/dart-sdk/bin
export PATH=${PATH}:~/.pub-cache/bin
保存.zshrc 的修改,然后 source ~/.zshrc 一下使其生效。
在本机终端操作完,重启一下android studio。或者android studio终端也执行一下source。
查看当前fvm安装的flutter版本
fvm list
fvm list
No SDKs have been installed yet. Flutter. SDKs installed outside of fvm
will not be displayed.
这么提示是因为还没有安装,安装一个就好了
如果你有安装多个,看到会是类似这样
安装几个flutetr版本,然后指定一个全局的flutter版本。
要指定全局的,才在fvm文件目录下产生一个 default 的文件夹。
使用 fvm install 安装指定 flutter 版本
比如
fvm install 3.0.0
fvm install 3.0.0
Flutter "3.0.0" is not installed.
Installing version: 3.0.0...
安装好之后,用户/.fvm 目录下,就会有flutter的版本。
本身是没有 default 这个文件夹,这个文件夹是在你执行了 fvm global 3.0.0 才有的。按道理,设置flutter user x.x.x 估计也有。
如果install安装失败,也可以手动安装flutter版本到fvm
比如通过fvm install x.x.x 失败,也可以手动下载安装。
先下载你要版本,比如到这个目录下
/Users/你的用户名/.fvm/versions
新一个文件,名字为你的flutter版本号,比如3.10.6
然后把这个下载3.10.6的解压放在刚才新建的3.10.6文件下
然后通过 fvm list 验证一下
三、使用一下
在vs code 使用
说明,我们指定全局3.x的flutter的版本,然后创建一个项目,接着切换到一个2.x的项目。(比如新建的项目范围是sdk: '>=2.19.6 <3.0.0',我们可以切换到2.10.5,在范围之外,用来验证是否切换成功)
一开始需要指定一下flutter sdk的位置,(fvm)
点击 locate sdk ,选择fvm选的default下的bin文件夹。
然后即可创建项目。
使用fvm切换版本
在刚进入项目,没有任何fvm命令之前,项目里面是不存在.fvm 这个文件夹的。
但是当我们使用比如 fvm use 2.10.5,会发现多了一个.fvm 文件夹
当我们切换flutter版本之后,记得及时 command+shift+p,执行Developer:Reload Window一下
然后
pubspec.yaml文件拉取下,记得记得记得
却换2.10.5
reload窗口之后,可能发现不能切换(运行不报错),我们需要在添加一份配json文件
在项目根目录下新建一个 .vscode 的文件夹。然后建一个settings.json文件。
在.vscode/settings.json里面编写如下
"dart.flutterSdkPath": ".fvm/flutter_sdk", 很重要,不能忘!
{
"dart.flutterSdkPath": ".fvm/flutter_sdk",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
然后
pubspec.yaml文件拉取下.
发现报错了,代表切换2.10.5 成功,
2.10.5对应的dart版本是 2.16.2,所以报错
题外话
不能通过 flutter --version 来验证是否切换成功,这个不准。
在Androud studio使用fvm
如果是使用android stuio来切换版本。
查看当前flutter项目使用的flutter和dart版本
flutter --version
1、fvm use 版本号 切换 2、在设置项,对应图上地方修改,下拉修改flutter版本,然后记得 保存 一下
比如你想选2.10.5版本,那就指定到2.10.5版本
3、到 .idea/workspace.xml添加内容
<!-- fvm结合使用,作用是不到项目下的.fvm 选择sdk-->
<component name="VcsManagerConfiguration">
<ignored-roots>
<path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
</ignored-roots>
</component>
发现也报错了。切换成功
至此,fvm的安装,以及在vs code和android studio的切换版本,完成。
(不要通过 flutter --version 验证,这个不准确的)
fvm删除指定版本的flutter
fvm remove 2.0.0
fvm remove 2.2.0
Removing 2.2.0...
2.2.0 removed.
Sidekick 应用 管理不同程序的flutter版本
安装下载,映入眼帘的是你当前所有的flutter版本
这玩意。还能切换成中文。
这个就不具体说了。
怎么管理多个项目的,指定不同的flutter版本呢?
你以为这就结束了?
快捷切换,快捷测试
大秀一场
flutter pub get 走一个
3.10.6下
2.10.5下
哇哦。
五、一些其他flutter命令
查看flutter的状态,查看环境配置是否有问题
flutter doctor
清除缓存
futter clean 清除缓存
查看flutter 状态的详细信息
flutter doctor -v
打包安卓包
flutter build apk 打包安卓包
打包苹果ipa
flutter build ios 打包苹果ipa
运行项目 默认--debug
flutter run
运行线上测试包
flutter run --profile
运行线上包
flutter run --release
查看flutter 的所有分支
flutter channel
切换到具体的分支
flutter channel stable
后记
Git 忽略 `fvm/flutter_sdk
.fvm/flutter_sdk