[Flutter] 使用 fvm 管理不同的 Flutter 版本

[Flutter] 使用 fvm 管理不同的 Flutter 版本

因為 Flutter 也有許多不同的版本,

因此跟 Go 一樣,我們可以用 fvm 來設定要使用的 Flutter 版本,

下面就來記錄一下用法~

 

首先在 Mac 上,用 Homebrew 安裝 fvm:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
brew tap leoafarias/fvm
brew install fvm
brew tap leoafarias/fvm brew install fvm
brew tap leoafarias/fvm
brew install fvm

 

可以用 fvm releases 看現在全部支援的 Flutter 版本:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ 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 版本:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
fvm install 3.29.2
fvm install 3.29.2
fvm install 3.29.2

 

安裝好之後,用 fvm list 列出已經裝好的 Flutter 版本:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ 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 版本:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ 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 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 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 用的 Flutter 路徑,

因此要把路徑加到 ~/.bash_profile

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
export PATH=~/fvm/default/bin:$PATH
export PATH=~/fvm/default/bin:$PATH
export PATH=~/fvm/default/bin:$PATH

 

再執行一次就沒有問題了:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ fvm global
✔ Select a version: · 3.29.2
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 global

✔ Select a version:  · 3.29.2
Flutter SDK: SDK Version : 3.29.2 is now global

 

要注意的是,如果使用 fvm 來管理 Flutter 版本的話,

可能就不要隨便執行 flutter upgrade這個指令來升級 Flutter,

避免 fvm 會發現你正在使用的 Flutter 版本,變成與記錄中的不同喔~

(本頁面已被瀏覽過 13 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料