Flutter 2.0 順滑撤回

oldbirds發表於2021-03-04

Flutter 2.0 今早釋出,web 開發現已在 stable channel 支援了,非常激動!

Flutter 2.0 的更新說明

因本人的特殊性,對 Flutter 有多個版本的需求。比如:

  • 混合開發,需要在 1.17.5 的 Flutter 版本
  • 舊版 web 開發,需要在 beta 的 channel 下開發
  • 純 Flutter 專案,跟隨 stable channel

為了能夠在各個專案中開發,我需要快速切換 Flutter 環境。所以我採用 fvm 這個工具。

如果你不知道如何使用 FVM,可以直接參考專案的使用文件,或者參考上一篇:《FVM 愉快的切換 Flutter 版本,強烈推薦!》

如果你是 FVM 的使用老手,那麼下面的內容可以忽略了。

實戰

假設在 Flutter 2.0 之前, 有這麼個 flt_demo 專案:

  • 使用了 FVM
  • 指定了 Flutter 的版本為 stable

基於最新的 stable channel 建立 web 工程

建立個新專案 web_demo,且需要用 Flutter 2.0 進行 web 開發:

$ mkdir web_demo
$ cd web_demo
$ fvm use stable --force 
$ fvm flutter create .
$ fvm flutter doctor
複製程式碼

最後我們獲取到的還是 1.22.6 的 Flutter 版本。

需要更新到最新的 stable 版本:

$ fvm flutter upgrade
$ fvm flutter doctor
複製程式碼

??,web_demo 的 Flutter 環境已經完成,可以愉快的玩耍了。

解救基於舊版 stable channel 開發的 fltDemo 工程

由於 flt_demo 也是在 stable channel 進行開發,當我們重新執行專案的時候,會報一些錯誤(某些 api 被廢棄了,一些第三方庫報錯)。

現有的 stable channel 是 Flutter 2.0 版本,但是對 flt_demo 來說,在 Flutter 2.0 是無法執行的。所以我們需要舊版的 stable 環境。

可以通過以下命令獲取 flutter 已釋出的版本號。

$ fvm releases
複製程式碼

舊版的 stable channel 對應的是 1.22.6 的版本。

所以我們需要修改 fltDemo 的 flutter 環境為 1.22.6。

$ cd flt_demo
$ fvm install 1.22.6
$ fvm use 1.22.6 --force
$ fvm flutter doctor
複製程式碼

??,完成 flt_demo 的 flutter 環境指定。

如果 flt_demo 是團隊專案,提交你的修改。同事拉取程式碼後,在專案根路徑下執行

$ fvm install
複製程式碼

即可。

可以繼續愉快的玩耍了。

更多幹貨閱讀,請關注官方微信公眾號: OldBirds

相關文章