升级 Flutter
了解如何升级 Flutter 并切换到其他渠道。
无论你关注的是哪个 Flutter 发布渠道,都可以使用 flutter 命令来升级你的 Flutter SDK 或应用所依赖的包。
升级 Flutter SDK
#要更新 Flutter SDK,请使用 flutter upgrade 命令
flutter upgrade
该命令会获取你当前 Flutter 渠道中可用的最新版 Flutter SDK。
如果你使用的是 stable(稳定)渠道,但想要更新版本的 Flutter SDK,请先使用 flutter channel beta 切换到 beta 渠道,然后运行 flutter upgrade。
保持知悉
#我们针对已知的破坏性变更发布了迁移指南。
我们会将有关这些变更的公告发送至 Flutter 公告邮件列表。
为避免未来版本的 Flutter 导致你的代码出现问题,请考虑将你的测试用例提交至我们的测试注册表。
切换 Flutter 发布渠道
#Flutter 有两个主要的发布渠道:stable 和 beta。
stable 渠道
#我们建议新用户和用于生产环境的应用使用 stable 渠道。团队大约每三个月更新一次此渠道。该渠道偶尔会针对严重或影响重大的问题接收热修复补丁。
Flutter 团队插件和包的持续集成测试包含针对最新 stable 版本的测试。
stable 分支的最新文档位于:https://api.flutter.dev
beta 渠道
#beta 渠道包含最新的稳定发布版本。这是我们经过大量测试的最新 Flutter 版本。该渠道已通过我们所有的公共测试,并通过了使用 Flutter 的 Google 产品测试套件的验证,并经过了贡献者提供的私有测试套件的审查。beta 渠道会定期接收热修复补丁,以解决新发现的重要问题。
beta 渠道与 stable 渠道本质上相同,但更新频率为每月一次而非每季度一次。事实上,当 stable 渠道更新时,它会被更新为最新的 beta 发布版本。
其他渠道
#我们目前还有一个其他渠道,即 main(此前称为 master)。为 Flutter 做贡献的人员使用此渠道。
此渠道的测试程度不及 beta 和 stable 渠道。
我们不建议使用此渠道,因为它更有可能包含严重的回归问题。
main 分支的最新文档位于:https://main-api.flutter.dev
更改渠道
#要查看你当前的渠道,请使用以下命令
flutter channel
要切换到其他渠道,请使用 flutter channel <channel-name>。切换渠道后,请使用 flutter upgrade 下载该渠道最新的 Flutter SDK 和依赖包。例如
flutter channel beta
flutter upgrade
切换到指定的 Flutter 版本
#切换到指定的 Flutter 版本
-
在 Flutter SDK 归档页面查找你所需的 Flutter 版本。
-
导航至 Flutter SDK 目录
cd /path/to/flutter -
使用
git checkout切换到你所需的 Flutter 版本git checkout <Flutter version>
升级包
#如果你修改过 pubspec.yaml 文件,或者只想更新应用所依赖的包(而不是同时更新包和 Flutter 本身),请使用 flutter pub 命令之一。
要更新到 pubspec.yaml 文件中列出的所有依赖项的最新兼容版本,请使用 upgrade 命令
flutter pub upgrade
要更新到 pubspec.yaml 文件中列出的所有依赖项的最新可能版本,请使用 upgrade --major-versions 命令
flutter pub upgrade --major-versions
这还会自动更新 pubspec.yaml 文件中的版本约束。
要识别过期的包依赖项并获取如何更新的建议,请使用 outdated 命令。有关详情,请参阅 Dart 的 pub outdated 文档。
flutter pub outdated
故障排除
#Windows:“文件名过长”错误
#在 Windows 上运行 flutter upgrade 时,你可能会遇到如下错误
error: unable to create file ...: Filename too long
这是因为 Flutter SDK 中某个文件的路径超过了 Windows 默认的最大路径长度限制。
要解决此问题,请考虑将 Flutter SDK 安装在路径较短的位置。例如,将 Flutter 安装在 C:\Flutter,而不是像 C:\Users\<用户名>\Documents\flutter 这样较长的路径中。
或者,执行以下操作
-
在 Git 中启用长路径支持
git config --system core.longpaths true如果命令因权限错误而失败,请尝试以管理员身份运行终端。
-
在 Windows 中启用长路径
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force此命令需要管理员权限。