不是编译时常量。 | const _AlwaysThrows alwaysThrows = _AlwaysThrows();

Not a compile-time constant. | const _AlwaysThrows alwaysThrows = _AlwaysThrows();

我继承了一个搁置了大约 3 年的 Dart 项目。尝试编译项目时,meta 包出现错误。我不确定如何解决它。

错误是:

[Error from Dart2JS on askbayoucom|web/main.dart]:
web\packages\meta\meta.dart:50:36:
Not a compile-time constant.
const _AlwaysThrows alwaysThrows = _AlwaysThrows();
                                   ^^^^^^^^^^^^^^^

我正在使用 SDK 1.24.3,由于 pubspec.yaml

中的条目,我认为这是最新的允许版本
environment:
  sdk: '>=1.0.0 <2.0.0'

当 运行 pub upgrade 我得到输出:

Resolving dependencies...
  args 1.5.1 (1.6.0 available)
  async 1.13.3 (2.4.2 available)
  barback 0.15.2+15 (0.15.2+16 available)
  browser 0.10.0+3
  charcode 1.1.2 (1.1.3 available)
  collection 1.14.6 (1.14.13 available)
  csslib 0.14.3 (0.16.2 available)
  dart_config 0.5.0
  dart_to_js_script_rewriter 1.0.3
  html 0.13.3 (0.14.0+3 available)
  js 0.6.1+1 (0.6.2 available)
  logging 0.11.3+2 (0.11.4 available)
  meta 1.2.2 (1.3.0-nullsafety.2 available)
  path 1.5.1 (1.7.0 available)
  pool 1.3.4 (1.4.0 available)
  source_span 1.5.5 (1.7.0 available)
  stack_trace 1.9.3 (1.9.5 available)
  string_scanner 1.0.4 (1.0.5 available)
  term_glyph 1.1.0 (1.2.0-nullsafety available)
  unittest 0.11.7 (0.12.4+1 available)
  utf 0.9.0+3 (0.9.0+5 available)
  yaml 2.1.13 (2.2.1 available)
No dependencies changed.

这是包 meta 的 SDK 要求中的错误。 const _AlwaysThrows alwaysThrows = _AlwaysThrows(); 需要 v2.0.0 或更高版本的 SDK,但该 meta 包的 SDK 要求错误地声称它适用于更早的 SDK 版本。

https://github.com/dart-lang/sdk/issues/42935