fvm简介
当多个项目使用不同的Flutter版本,或者Flutter发布新版本时,需要改变本地的Flutter版本,频繁的切换,非常消耗时间(upgrade),fvm的出现很好的解决多个版本来回切换的问题,并且对指定指定项目可以指定依赖使用的flutter版本
fvm源码-使用说明
fvm 安装
//通过brew安装fvm
brew tap befovy/taps
brew install fvm
配置fvm管理的Flutter sdk存储路径
必须使用***FVM_HOME***作为路径变量
eg:export FVM_HOME=/User/apple/fvm
配置环境变量
1、打开.bash_profile文件
open -e ~/.bash_profile
2、配置FVM_HOME
export FVM_HOME=/User/apple/fvm
export FLUTTER_ROOT=/User/apple/fvm/current
3、保存退出后,让修改立即生效
source ~/.bash_profile
说明:如果没有配置FVM_HOME变量,会使用默认路径。
在mac上的默认路径是:$HOME/Library/Application Support/fvm
下载需使用的Flutter sdk版本
使用命令:
fvm install version //version是需要安装的版本号
fvm install beta/stable/dev: 安装指定channel的当前版本 flutter SDK;
//安装Fluter sdk 2.2.3
fvm install 2.2.3
指定使用的版本
全局范围内指定项目依赖的sdk版本
fvm use 2.2.3
//可以使用该命令随时切换项目使用的flutter sdk版本
//fvm use 2.0.3
为每个项目指定依赖不同的flutter sdk.
//需要将终端切换到项目目录
fvm use 2.0.3 --local
运行flutter sdk
执行完以上操作,flutter sdk不能使用。
需要运行: fvm flutter run命令,其实就是运行flutter run命令,下载了dart库
fvm flutter run
配置flutter 环境变量PATH
export FVM_HOME=/Users/apple/fvm
export FLUTTER_ROOT=$FVM_HOME/current
export PATH=$FLUTTER_ROOT/bin:$PATH
export PATH=$FLUTTER_ROOT/bin/cache/dart-sdk/bin:$PATH
配置Android Studio使用的 flutter sdk版本
打开 Android Studio 工具,找到 偏好设置,在搜索框中搜索 flutter 在 Languages & Frameworks 中,选择 Flutter,在 SDK 下面有一个 Flutter SDK path,在最右边有一个选择路径的按钮,点击之后弹出,文件目录,该示例sdk安装在/User/apple/fvm目录下,然后选择 fvm -> current 文件,点击 Open 保存。
其他命令
查看当前使用的版本
fvm current
查看已经安装的版本
fvm list
移除已经安装的flutter sdk
fvm remove version
遇见的其他问题
1、brew未安装
安装brew
2、error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
git下载有限制,修改限制
//命令行
//设置了1500M,自己可以修改该值(100M)
git config --global http.postBuffer 1572864000
git config --global https.postBuffer 1572864000
3、fvm install 不能正常安装flutter sdk
原因:超时;git拒绝
解决方案:在.bash_profile配置下载地址
export PUB_HOSTED_URL=http://mirrors.cnnic.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=http://mirrors.cnnic.cn/flutter
4、安装fvm后,打开之前的flutter项目,项目不能正常编辑,代码资源找不到。
进行一下处理可修复:
()配置Android Studio使用Flutter sdk版本。
()在项目目录下运行fvm flutter run,
()部分情况,需要执行flutter get
https://fvm.app/docs/guides/basic_commands