【flutter】fvm多版本管理

做flutter开发的小伙伴应该知道,当同时维护多个项目的情况下,经常会出现不同项目使用着不同版本的sdk,从而需要不停的切换sdk版本。这时候就需要对flutter sdk进行多版本的管理。

不知道小伙伴们有没有遇到过这种情况,当有新接手的项目和旧项目sdk版本不一致时,
直接把本地的sdk版本给更新了,结果可想而知,当旧项目需要迭代的时候发现,来的时候好好的,回不去了。。。于是每次切换项目都傻傻的重新下载对应的sdk,再pub get一下,大半天就没了。

最简单的办法就是本地同时保留多个版本sdk,每次切换项目时改一下环境变量指向对应的sdk就可以了。

其实Flutter有专门的多版本管理工具FVM,可以单独为某个项目设置flutter版本,也可以全局设置版本。

mac环境下安装**

可参考官网

  • 安装 fvm
brew tap leoafarias/fvm
brew install fvm
  • 设置sdk安装目录:

在mac下flutter sdk的默认目录是在~/fvm,可以通过以下命令修改设置

fvm config --cache-path <flutter sdk path>

修改后可以通过fvm config查看设置

  • 安装指定的sdk版本
fvm install 3.3.8

这种方式下载会比较慢,可以直接前往flutter官网下载需要的sdk版本,放入上述fvm配置的sdk文件目录。

  • 查看所有已经安装的sdk
fvm list
  • 设置全局sdk版本
fvm global 3.3.8

fvm global设置全局sdk版本后会在~/fvm下生成一个default文件夹,需要设置环境变量,如下:

# flutter sdk
export PATH=${PATH}:~/fvm/default/bin

# dart sdk
export PATH=${PATH}:~/fvm/default/bin/cache/dart-sdk/bin
export PATH=${PATH}:~/.pub-cache/bin
  • 项目单独设置sdk版本

进入项目目录

fvm use 3.3.8

vscode配置:
编辑 .vscode/settings.json

{
  "dart.flutterSdkPath": ".fvm/flutter_sdk",
  // Remove .fvm files from search
  "search.exclude": {
    "**/.fvm": true
  },
  // Remove from file watching
  "files.watcherExclude": {
    "**/.fvm": true
  }
}

Android Studio配置:
修改 .idea/workspace.xml,加入

<component name="VcsManagerConfiguration">
  <ignored-roots>
    <path value="$PROJECT_DIR$/.fvm/flutter_sdk" />
  </ignored-roots>
</component>

如图:
在这里插入图片描述
在此配置对应sdk路径
在这里插入图片描述


fvm还支持图形界面操作sidekick,可以自行去了解

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值