前言
當flutter出了個新版本,想嚐嚐鮮?升級,開啟傻眼,各種報錯,新版可能會有很多東西要適配支援。退回去?flutter downgrade然後還得刪除快取,然後再flutter doctor一頓猛操作,網速要是差點意思了,那就夠喝杯茶了。 諸如此類,反正就是如果想本地多個flutter版本,可以愉快的快速便捷切換。幸運的是fvm這個非官方工具就能搞定以上需求。
fvm介紹
fvm:flutter version manager的縮寫。此工具可讓我們
- 在本地下載安裝多個版本flutter sdk。
- 為專案指定flutter版本,並可快速切換版本。
Sidekick:一個主要為Flutter fvm提供GUI的應用程式。
- 使用fvm比較簡便快捷
- 裡面有當前的flutter stable/beta/dev以及歷史版本,方便下載使用
- 有一些flutter的第三方treding/morst used packages/flutter favorites。
fvm的安裝和使用
fvm安裝
下面以macOS為例。
brew tap leoafarias/fvm
brew install fvm
複製程式碼
預設的flutter SDK快取路徑為~/fvm/versions
安裝成功之後,就是配置你的環境變數到指令碼工具中: 由於Mac的指令碼工具有 .bash 和 .zsh 兩個,一般預設的是 bash,具體切換,可以在這裡參看蘋果官網的切換方法:在Mac上將.zsh用作預設Shell
fvm安裝flutter sdk
fvm install 1.22.6 //安裝flutter 1.22.6的stable版本
fvm install stable //安裝當前最新的stable版本
fvm install dev //安裝當前最新的pre預覽版本
複製程式碼
fvm安裝的flutter版本刪除
fvm remove 1.22.6 //解除安裝1.22.6版本
複製程式碼
fvm列出已安裝版本
~(master*) » fvm list
Cache Directory: /Users/nickName/fvm/versions
2.2.2
1.22.6
複製程式碼
fvm檢視當前使用的flutter版本資訊
fvm flutter --version
複製程式碼
總之就是之前的flutter命令前面都加上fvm 例如
- fvm flutter clean
- fvm flutter pub get
搞定完以上後,以AS為例。開啟AS的preferences。 設定flutter sdk path, 對應的dart sdk path會自動填充
fvm flavor for project
flavor:flutter和fvm一樣每個專案環境或釋出型別配置多個Flutter SDK版本。
// ~/your_flutter_project.fvm/fvm_config.json
{
"flutterSdkVersion": "1.22.6",
"flavors": {
"stable": "stable",
"dev": "dev"
"production": "1.22.6",
"beta": "beta",
}
}
// 它有以下幾種配置:
/* 給version起個名,會被記錄到~/your_flutter_project.fvm/fvm_config.json */
fvm use {version} --flavor {flavor_name}
//list出當前專案配置的 flavors
fvm flavor {flavor_name}
fvm flavor
複製程式碼
Sidekick
非常實用、方便。具體的使用不展開說了,下載看看很清晰。
其他
在用leoafarias/fvm時候也看到過另外一個基於go的flutter版本管理工具befovy/fvm,基本與leoafarias/fvm沒多大差別,看各自喜好了。最後吃水不忘挖井人,給Leo Farias的leoafarias/fvm送上star。