Flutter 作為當下比較熱門的跨端開發利器,受到了越來越多的開發者的追捧,筆者也是小粉絲哈,熱衷于追求新技術。由于 Flutter 目前還處于高速發展的階段,開發者提出的 issues 很多( 目前近8k ),是以 Flutter 團隊需要不斷的更新版本來解決開發者提出的這些問題,這就導緻 Flutter 的版本更新比較快。上一個工程還是基于版本 1.19.* 建立的,等到再建立一個工程時,就需要用到版本 1.22.# 啦!
面對這麼多的版本,開發者需要不斷的切換 Flutter 版本,來運作不同的項目或工程,我們可以在指令行進行手動切換,指令行格式如下:
// flutter version 後跟想要切換的具體版本号
flutter version v1.22.4
// flutter version 指令将要被移除了,移除後可以使用 flutter downgrade
flutter downgrade v1.22.4
然後就需要下載下傳所需切換版本的資源,如下圖所示:
每次需要切換 Flutter 版本時,都需重新下載下傳一遍,然後再執行 flutter pub upgrade,有點麻煩啦!
有沒有更加便捷有效的工具呢?
工程師們還是喜歡“偷懶”的哈,那些好的工具或者架構,不都是工程師們為了簡化工作流程,提高工作效率,所研究出來的嗎?開個玩笑哈!
筆者這裡推薦一個 Flutter SDK 版本管理工具:befovy/fvm,作為一個 SDK 版本管理工具,能夠讓使用者同時在本地安裝并緩存多個 Flutter 版本,并為項目建立指定 Flutter 版本的軟連結,或者在全局環境建立指定版本的 Flutter 軟連結,還可以快速在各個版本間切換使用。是不是覺得心動了呢?
安裝試用一下:
Mac 下 brew 安裝指令:
// 添加homebrew tap
brew tap xinfeng-tech/fvm
// 安裝 fvm
brew install fvm
安裝成功以後,拷貝以下内容到你的 .bashrc|.zshrc … 檔案中,根據自己的情況,沒有更換過腳本工具的,預設是 Bash,不過現在很多人喜歡切到 Oh My Zsh 啦!
export PUB_HOSTED_URL=http://mirrors.cnnic.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=http://mirrors.cnnic.cn/flutter
export FVM_DIR="$HOME/.fvm"
source "/usr/local/opt/fvm/init.sh"
如何使用呢?
安裝 Flutter 某個版本,如:1.22.4
使用 Flutter 某個版本,如:1.22.4
檢視本地已安裝的 Flutter 版本
fvm list
不同的項目設定不同的 Flutter 版本
// 需要切到你要設定項目的根目錄,然後執行如下指令并指定你所想要設定的 Flutter 版本
fvm use 1.22.4 --local
看一下效果圖吧!使用還是很友善的,牆裂推薦一下,尤其是項目多時,需頻繁切換 Flutter 版本的!!!
參考文章:
Flutter SDK 多版本管理工具
踩過的坑,以免你們再踩進來:
1、更新過 macOS Big Sur(11.0.1) 之後,使用 Homebrew 執行 brew 安裝指令時,會報錯:Error: Your CLT does not support macOS 11.0.
看樣子,是要我們更新一下 CLT(Communication Line Terminal 通信線路終端),目前的不支援 macOS 11.0哈!
解決方案:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
參考連結:
Homebrew: Your CLT does not support macOS 11.0
homebrew installation fails on macOS 11 (Big Sur)