[Flutter] 使用 fvm 管理不同的 Flutter 版本
因為 Flutter 也有許多不同的版本,
因此跟 Go 一樣,我們可以用 fvm 來設定要使用的 Flutter 版本,
下面就來記錄一下用法~
首先在 Mac 上,用 Homebrew 安裝 fvm:
brew tap leoafarias/fvm
brew install fvm
brew tap leoafarias/fvm
brew install fvm
brew tap leoafarias/fvm brew install fvm
可以用 fvm releases
看現在全部支援的 Flutter 版本:
$ fvm releases
┌───────────────────┬──────────────┬──────────┐
│ Version │ Release Date │ Channel │
├───────────────────┼──────────────┼──────────┤
│ v1.0.0 │ Dec 4, 2018 │ stable │
├───────────────────┼──────────────┼──────────┤
│ v1.2.1 │ Feb 26, 2019 │ stable │
├───────────────────┼──────────────┼──────────┤
......
├───────────────────┼──────────────┼──────────┤
│ 3.29.2 │ Mar 13, 2025 │ stable ✓ │
└───────────────────┴──────────────┴──────────┘
$ fvm releases
┌───────────────────┬──────────────┬──────────┐
│ Version │ Release Date │ Channel │
├───────────────────┼──────────────┼──────────┤
│ v1.0.0 │ Dec 4, 2018 │ stable │
├───────────────────┼──────────────┼──────────┤
│ v1.2.1 │ Feb 26, 2019 │ stable │
├───────────────────┼──────────────┼──────────┤
......
├───────────────────┼──────────────┼──────────┤
│ 3.29.2 │ Mar 13, 2025 │ stable ✓ │
└───────────────────┴──────────────┴──────────┘
$ fvm releases ┌───────────────────┬──────────────┬──────────┐ │ Version │ Release Date │ Channel │ ├───────────────────┼──────────────┼──────────┤ │ v1.0.0 │ Dec 4, 2018 │ stable │ ├───────────────────┼──────────────┼──────────┤ │ v1.2.1 │ Feb 26, 2019 │ stable │ ├───────────────────┼──────────────┼──────────┤ ...... ├───────────────────┼──────────────┼──────────┤ │ 3.29.2 │ Mar 13, 2025 │ stable ✓ │ └───────────────────┴──────────────┴──────────┘
用 fvm install
安裝想要的 Flutter 版本:
fvm install 3.29.2
fvm install 3.29.2
fvm install 3.29.2
安裝好之後,用 fvm list
列出已經裝好的 Flutter 版本:
$ fvm list
Cache directory: /Users/testuser/fvm/versions
Directory Size: 152.14 MB
┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.29.2 │ │ Need setup │ │ │ │ │
└─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘
$ fvm list
Cache directory: /Users/testuser/fvm/versions
Directory Size: 152.14 MB
┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.29.2 │ │ Need setup │ │ │ │ │
└─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘
$ fvm list Cache directory: /Users/testuser/fvm/versions Directory Size: 152.14 MB ┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐ │ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │ ├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤ │ 3.29.2 │ │ Need setup │ │ │ │ │ └─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘
然後可以用 fvm global
設定全域環境中,預設使用的 Flutter 版本:
$ fvm global
Flutter SDK: SDK Version : 3.29.2 is now global
┌───────────────────────────────────────────────────────┐
│
However your configured "flutter" path is incorrect │
└───────────────────────────────────────────────────────┘
CURRENT: /opt/homebrew/bin
CHANGE TO: /Users/testuser/fvm/default/bin
$ fvm global
Select a version: · 3.29.2
Flutter SDK: SDK Version : 3.29.2 is now global
┌───────────────────────────────────────────────────────┐
│
However your configured "flutter" path is incorrect │
└───────────────────────────────────────────────────────┘
CURRENT: /opt/homebrew/bin
CHANGE TO: /Users/testuser/fvm/default/bin
$ fvm globalSelect a version: · 3.29.2 Flutter SDK: SDK Version : 3.29.2 is now global ┌───────────────────────────────────────────────────────┐ │
However your configured "flutter" path is incorrect │ └───────────────────────────────────────────────────────┘ CURRENT: /opt/homebrew/bin CHANGE TO: /Users/testuser/fvm/default/bin
在上面有個錯誤訊息,基本上是因為它找不到 fvm 用的 Flutter 路徑,
因此要把路徑加到 ~/.bash_profile
:
export PATH=~/fvm/default/bin:$PATH
export PATH=~/fvm/default/bin:$PATH
export PATH=~/fvm/default/bin:$PATH
再執行一次就沒有問題了:
$ fvm global
Flutter SDK: SDK Version : 3.29.2 is now global
$ fvm global
Select a version: · 3.29.2
Flutter SDK: SDK Version : 3.29.2 is now global
$ fvm globalSelect a version: · 3.29.2 Flutter SDK: SDK Version : 3.29.2 is now global
要注意的是,如果使用 fvm 來管理 Flutter 版本的話,
可能就不要隨便執行 flutter upgrade
這個指令來升級 Flutter,
避免 fvm 會發現你正在使用的 Flutter 版本,變成與記錄中的不同喔~
(本頁面已被瀏覽過 13 次)