安装时 Dart SDK 版本不匹配 build_runner

Dart SDK version mismatch while installing build_runner

我正在尝试将 build_runner: ^1.10.2 添加到 pubspec.yaml 文件中的 dev_dependencies,但出现以下错误:

The current Dart SDK version is 2.9.0.

Because project_name depends on build_runner >=1.10.2 which requires SDK version >=2.10.0-0.0 <3.0.0, version solving failed.
pub get failed (1; Because project_name depends on build_runner >=1.10.2 which requires SDK version >=2.10.0-0.0 <3.0.0, version solving failed.)

我查看了 dart 网站,最新版本的 Dart SDK 是 2.9.0,而 2.10 还在开发中。

这是我的 flutter doctor 输出:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.20.1, on Microsoft Windows [Version 10.0.18362.959], locale en-IN)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 4.0)
[√] VS Code, 64-bit edition (version 1.39.2)
[√] Connected device (1 available)

• No issues found!

这是最新版本的 dart、analyzer 和 flutter 之间产生冲突的问题,您可以在此 Github issue 阅读更多相关信息。您的配置可能没有真正的问题。

我看到的一个临时解决方案是使用分析器的依赖覆盖:

dev_dependencies:
  build_runner: ^1.10.0

dependency_overrides:
  analyzer: 0.39.14

我在清理目录并使用 downloaded/installed 最新的 flutter 后遇到了这个问题。砰。然后我意识到 flutter 的版本默认位于 channel stable 上。切换到master后,解决了我的问题,即:

flutter channel master
flutter upgrade

自 2020 年 9 月 28 日起,stable 频道上的最新版 Flutter 不再存在此问题。

使用这些命令升级。

flutter channel stable
flutter upgrade