Flutter 版的 NVM——FVM 使用指南

what is FVM?

FVM(Flutter Version Management) 是一個(gè)用于管理多個(gè) Flutter SDK 版本的工具,類似于 Node.js 開(kāi)發(fā)者常用的 NVM。

解決了什么問(wèn)題?

  • 不同項(xiàng)目需要不同 Flutter 版本
  • 全局只有一個(gè)版本,切換麻煩
  • 團(tuán)隊(duì)成員版本不一致導(dǎo)致構(gòu)建失敗

安裝 FVM

macOS / Linux

brew install fvm

Windows(需要先安裝 Dart)

dart pub global activate fvm

安裝完成后,確保將 Dart 全局 bin 目錄加入 PATH。

快速上手

1. 安裝指定版本

fvm install 3.24.0
fvm install 3.19.0
fvm install xxxx

2. 在項(xiàng)目中使用和全局使用

## 項(xiàng)目切換
cd /項(xiàng)目目錄
fvm use 3.24.0

執(zhí)行后會(huì)自動(dòng)生成 .fvm 配置文件和 fvm_config.json

## 全局切換
fvm use 3.24.0 --global
對(duì)比項(xiàng) fvm use X --global fvm use X
作用范圍 整臺(tái)機(jī)器 當(dāng)前項(xiàng)目
生成文件 ~/.fvm/ ./.fvm/
Git 管理 ? 不提交 ? 可以提交
優(yōu)先級(jí) 低(被項(xiàng)目配置覆蓋)

最佳實(shí)踐:個(gè)人開(kāi)發(fā)用 --global不用管的那么嚴(yán)格不會(huì)污染項(xiàng)目代碼,團(tuán)隊(duì)項(xiàng)目不帶 --global 并提交配置,還是嚴(yán)格一些好。

3. 運(yùn)行 Flutter 命令

# 通過(guò) fvm 調(diào)用(推薦)
fvm flutter run
fvm flutter build apk

# 或激活全局版本
fvm use 3.24.0 --global

4. 查看已安裝版本

fvm list

輸出示例:

Cached versions:
  3.24.0
  3.19.0

團(tuán)隊(duì)協(xié)作最佳實(shí)踐

1. 提交 FVM 配置到 Git

在項(xiàng)目根目錄執(zhí)行:

fvm use 3.24.0
git add .fvm fvm_config.json
git commit -m "Add FVM configuration"

2. 配置 .gitignore

# FVM
.fvm/flutter_sdk/

3. 新成員入職

git clone <your-repo>
fvm install
fvm use

一行命令搞定環(huán)境同步!

工作原理

FVM 將各版本 SDK 安裝在統(tǒng)一目錄(和nvm大差不差):

~/.fvm/versions/
├── 3.24.0/
└── 3.19.0/

通過(guò)軟鏈接和 PATH 優(yōu)先級(jí),實(shí)現(xiàn)不同項(xiàng)目使用不同版本。

常用命令速查

命令 說(shuō)明
fvm install <version> 安裝 Flutter 版本
fvm use <version> 切換項(xiàng)目版本
fvm use <version> --global 設(shè)置全局默認(rèn)版本
fvm list 查看已安裝版本
fvm remove <version> 刪除指定版本
fvm flutter <args> 運(yùn)行 Flutter 命令
fvm doctor 檢查 FVM 狀態(tài)

更新 FVM 自身

方式一:Homebrew(macOS/Linux)

bash

復(fù)制

brew upgrade fvm

方式二:Dart pub global(Windows)

bash

復(fù)制

dart pub global activate fvm

activate 會(huì)自動(dòng)更新到最新版本

方式三:手動(dòng)下載

GitHub Releases 下載新版,覆蓋舊文件即可。


驗(yàn)證當(dāng)前版本

bash

復(fù)制

fvm --version

注意:FVM 更新的是工具本身,F(xiàn)lutter SDK 版本是獨(dú)立的——更新 FVM 不會(huì)影響你已經(jīng)通過(guò)它安裝的 3.24.0、3.19.0 等 SDK 版本。

總結(jié)

FVM 是 Flutter 開(kāi)發(fā)者必備的多版本管理工具,和mvm一樣(雖然nvm問(wèn)題也很多)。

推薦團(tuán)隊(duì)統(tǒng)一使用 FVM 管理 Flutter 版本,配合 Git 配置實(shí)現(xiàn)環(huán)境一致性。
如果fvm自己要更新


?? 如果你還有其他 Flutter 開(kāi)發(fā)工具推薦,歡迎補(bǔ)一下!

相關(guān)鏈接:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容