Flutter 多個版本切換控制

會煮咖啡的貓發表於2021-05-19

老鐵記得 轉發 ,貓哥會呈現更多 Flutter 好文~~~~

微信flutter研修群 ducafecat

原文

medium.com/litslink/fl…

貓哥說

如果你和貓哥我一樣,手上有幾個 1 年前的專案,那麼經常切換 sdk 版本,就成了必須做的事情,我可不會把老專案去升級新版本。

前言

每次當技術改變為一個新的主版本時,將一個專案從較低的版本遷移到較高的版本是痛苦的。幸運的是,Dart 有一個遷移工具,可以幫助您將專案中的定義遷移到新的語法中。

但是即使你已經準備好切換到一個更新的版本,你也必須等待在你的專案中使用的一系列外掛,即使在我的情況下,我確實幫助一些開源庫遷移到 Null-Safety,這不足以將我的專案遷移到下一個版本。

社群每天都在成長,在大多數情況下,你會找到一些替代外掛,這些外掛還沒有被遷移。如果您停留在以前的 Flutter 版本,本文將幫助您簡化在專案之間的切換。

參考

正文

版本管理

Flutter 版本有一個相關的 Dart SDK 版本,可以在本地快取到 Flutter 快取資料夾中,因此您應該記住一些約束。

作為一個開發者,你有幾個選項可以在不同版本之間切換:

  • 使用命令列指令碼(CLI)進行手動編寫
  • Flutter 版本管理器 CLI
  • Sidekick GUI 圖形使用者介面

手動

當你有兩個或三個專案並在它們之間切換時,這個選項對你來說並不常見。

Flutter CLI 具有 git 控制的版本管理,因此即使使用 git checkout <tag> 命令也很容易切換。要檢視可以簽出的版本列表,只需執行 git tag-l,然後在找到所需版本時按 q 退出。

就是用 git 命令啦,沒啥特別的,但是國內 github 很慢。。。

下載所需版本

你可以訪問 Flutter 發行版頁面下載所需版本的快照,並替換環境變數版本以使用下載的版本

flutter.dev/docs/develo…

這是我之前常用的方法,免去了下載,每個版本包可是要 1G 了

Flutter CLI

您可以嘗試使用 flutter dider <version> 命令來降低它的等級,但是您將面臨一個無法從 2.x 切換到 1.x 的問題。

Git

幸運的是,Flutter SDK 使用 GIT 來管理版本,因此您可以有一個單一的目錄來切換,而不像下載每個版本,並減少硬體上的空間。

假設你的 SDK 副本位於 ~/flutter 然後:

cd ~/flutter

# Checkout needed version
git checkout 1.22.6

# Download Dart SDK, tools, etc.
flutter doctor

# Check Flutter and Dart version
flutter --version
複製程式碼

最後,您將看到 flutter --version 命令的輸出:

Flutter 1.22.6 • channel unknown • unknown source
Framework • revision 9b2d32b605 (3 months ago) • 2021-01-22 14:36:39 -0800
Engine • revision 2f0af37152
Tools • Dart 2.10.5
複製程式碼

當你需要切換回最新版本時,反之亦然:

cd ~/flutter

# Switch back to the stable channel
flutter channel stable

# Switch to latest version
# flutter doctor will be invoked at this step
flutter upgrade

# Check Dart and Flutter  version
flutter --version
複製程式碼

如果您對此步驟沒有意見,可以通過呼叫 *.sh 來儲存這些指令碼並自動執行降級/升級過程。命令列中的 sh 檔案。

FVM (Flutter Version Manager)

這也是貓哥我現在用的方式

以前,當我基於 React 和 ReactNative 開發應用程式時,我使用 NPM (節點包管理器)來管理專案中的依賴關係,Flutter 中的一個類似工具是 pub。有時候我需要更改 NPM 版本,但是它對 Node 版本有限制,所以我需要做同樣的步驟,下載幾個版本,替換目錄等等。為了避免這個例程,我使用了 NVM (節點版本管理器) ,我的日子就要好起來了。

幸運的是,Flutter 有一個名為 FVM 的非官方工具,可以做同樣的事情,它管理 Flutter 版本並將它們儲存在您的硬體上。

fvm.app/

FVM 有兩種使用方式:

  • 全域性指定 flutter 版本
  • 指定你當前專案使用的版本

只需按照安裝 fvm.app/docs/gettin… 和配置說明的 fvm.app/docs/gettin… 來正確設定你的環境。

另一個令人驚奇的選擇是 FVM 的 GUI,稱為 Sidekick,它使得全域性或本地(專案) Flutter SDK 版本管理更加舒適,如果你不是 CLI 的大粉絲。


© 貓哥

ducafecat.tech/

github.com/ducafecat

往期

開源

GetX Quick Start

github.com/ducafecat/g…

新聞客戶端

github.com/ducafecat/f…

strapi 手冊譯文

getstrapi.cn

微信討論群 ducafecat

系列集合

譯文

ducafecat.tech/categories/…

Dart 程式語言基礎

space.bilibili.com/404904528/c…

Flutter 零基礎入門

space.bilibili.com/404904528/c…

Flutter 實戰從零開始 新聞客戶端

space.bilibili.com/404904528/c…

Flutter 元件開發

space.bilibili.com/404904528/c…

Flutter Bloc

space.bilibili.com/404904528/c…

Flutter Getx4

space.bilibili.com/404904528/c…

Docker Yapi

space.bilibili.com/404904528/c…

相關文章