切换到分支“稳定”颤振通道后
以下是构建问题。
错误:指定的语言版本太高。最高支持的语言版本是2.8。
output: ../../third_party/dart/third_party/pkg/collection/lib/src/utils.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.8.
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
^
../../third_party/dart/third_party/pkg/collection/lib/src/wrappers.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.8.
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
^
../../third_party/dart/third_party/pkg/collection/lib/src/functions.dart:1:1: Error: The specified language version is too high. The highest supported language version is 2.8.
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
^
发生这种情况是因为您指定的语言版本高于
.dart_tool
目录中声明的语言版本(特别是在 package_config.json
文件中)。
您可以手动删除该文件夹,也可以让 Flutter 工具为您删除该文件夹。从终端运行
flutter clean
,或者,如果使用 Android Studio,请转到 Tools -> Flutter -> Flutter Clean
。
pubspec.yaml 中的一个软件包需要您已安装的 dart 版本。例如,我在使用分析器包时遇到了这个问题。 在我的酒吧规范中
analyzer: ˆ3.3.1
所以我跑了
flutter version
Answer
Tools • Dart 2.13.3
但是正如您可以在这里看到的,版本 3.3.1 需要 Dart Tools 2.14
发现哪个软件包版本与您的 dart 不兼容
就我而言,我分别安装了 Flutter 和 Dart
当我运行
dart
命令时,它使用 2.Dart
,该命令已过时
我通过 brew uninstall dart
删除了,重新启动终端后,它使用 flutter dart
而不是最新版本的 dart
就我而言,一个包需要比应用程序版本更高的最低 Dart 版本(它位于 pubspec.lock 的底部)。 解决方案:降级软件包版本。
我昨天也遇到了同样的错误,我已修复它。
当您将 flutter 版本从
1.17.5
(稳定通道)切换到 1.20.?
(开发通道)时,会出现此错误。
要修复此问题,只需使用 PC 上安装的最新版本创建一个新项目,然后复制并粘贴所有文件即可。
由于版本原因,问题来自于
pubspec.lock
文件。
所以总而言之,如果您更改了 Flutter 的版本,只需创建另一个项目并复制必要的文件即可。