無論你追蹤哪一個 Flutter 發行頻道(release channel),你都可以使用 flutter 指令來升級你的 Flutter SDK 或應用程式所依賴的套件。

升級 Flutter SDK

#

若要更新 Flutter SDK,請使用 flutter upgrade 指令:

flutter upgrade

此指令會取得目前 Flutter channel 上可用的最新 Flutter SDK(Flutter 軟體開發套件)版本。

如果你正在使用 stable channel,並希望獲得更近期的 Flutter SDK 版本,請使用 flutter channel beta 切換到 beta channel,然後執行 flutter upgrade

保持資訊更新

#

我們會針對已知的重大變更發布 遷移指南

我們也會將這些變更的公告寄送到 Flutter 公告郵件清單

為了避免未來 Flutter 版本造成破壞,建議你將測試提交到我們的 測試登錄中心

切換 Flutter channel

#

Flutter 目前有兩個發行 channel: stablebeta

stable channel

#

我們建議新手或正式上線的應用程式使用 stable channel。 團隊大約每三個月會更新一次這個 channel。 若遇到高嚴重性或高影響性的問題,這個 channel 也可能會收到臨時修復(hot fix)。

Flutter 團隊的插件與套件在持續整合(CI)時,會針對最新的 stable 版本進行測試。

stable 分支的最新文件在:https://api.flutter.dev

beta channel

#

beta channel 擁有最新的穩定版本。 這是我們經過大量測試的 Flutter 最新版本。 此 channel 已通過我們所有公開測試,並經過使用 Flutter 的 Google 產品測試套件驗證,也經過 社群貢獻的私有測試套件 驗證。 beta channel 會定期收到 hot fix,以解決新發現的重要問題。

beta channel 基本上與 stable channel 相同,但每月更新,而非每季更新。 事實上,當 stable channel 更新時,會直接升級到最新的 beta 版本。

其他 channel

#

目前我們還有一個 channel,main(先前稱為 master)。 貢獻 Flutter 的開發者 會使用這個 channel。

這個 channel 的測試不如 betastable channel 完善。

我們不建議使用這個 channel,因為它更有可能包含嚴重的回歸問題。

main 分支的最新文件在:https://main-api.flutter.dev

切換 channel

#

要查看你目前所使用的 channel,請使用以下指令:

flutter channel

若要切換至其他頻道,請使用 flutter channel <channel-name>。 切換頻道後,請使用 flutter upgrade 以下載該頻道的最新 Flutter SDK 及其相依套件。 例如:

flutter channel beta
flutter upgrade

切換至特定 Flutter 版本

#

若要切換至特定的 Flutter 版本,請依照下列步驟操作:

  1. Flutter SDK archive 上找到你想要的 Flutter 版本

  2. 前往 Flutter SDK:

    cd /path/to/flutter

:::

  1. 使用 git checkout 切換到你想要的 Flutter 版本

    git checkout <Flutter version>

升級套件

#

如果你已經修改了 pubspec.yaml 檔案,或是你只想更新應用程式所依賴的套件(而不是同時更新套件和 Flutter 本身),那麼請使用其中一個 flutter pub 指令。

若要將 pubspec.yaml 檔案中列出的所有相依套件,升級到_最新相容版本_,請使用 upgrade 指令:

flutter pub upgrade

若要將 pubspec.yaml 檔案中列出的所有相依套件(dependencies)更新至_最新可用版本_,請使用 upgrade --major-versions 指令:

flutter pub upgrade --major-versions

這也會自動更新 pubspec.yaml 檔案中的約束條件(constraints)。

若要識別過時的套件相依性並取得如何更新的建議,請使用 outdated 指令。詳情請參閱 Dart pub outdated 文件

flutter pub outdated