json - 尝试使用类型“FolderBasedDartSdk”作为函数
问题描述
我需要使用教程https://flutter.io/json/#code-generation中的代码生成库反序列化 JSON 当我执行“运行代码生成实用程序”步骤时,(在终端“flutter packages pub run build_runner build”中运行),我有错误:
C:\Users\Matusevich\StudioProjects\hr_metrics>flutter packages pub run build_runner build
[INFO] Generating build script...
[INFO] Generating build script completed, took 486ms
[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 469ms
[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 2ms
You have hit a bug in build_runner
Please file an issue with reproduction steps at https://github.com/dart-lang/build/issues
NoSuchMethodError: Attempted to use type 'FolderBasedDartSdk' as a function. Since types do not define a method 'call', this is not possible. Did you intend to call the FolderBasedDa
rtSdk constructor and forget the 'new' operator?
Receiver: FolderBasedDartSdk
Tried calling: FolderBasedDartSdk(Instance of 'PhysicalResourceProvider', Instance of '_PhysicalFolder')
dart:core Object.noSuchMethod
package:build_resolvers/src/resolver.dart 430:33 new AnalyzerResolvers
package:build_runner/src/generate/build_impl.dart 124:26 new BuildImpl._
package:build_runner/src/generate/build_impl.dart 154:21 BuildImpl.create
package:build_runner/src/generate/build_impl.dart 108:33 singleBuild
package:build_runner/src/generate/build_impl.dart 97:22 build
package:build_runner/src/generate/build.dart 69:5 build
package:build_runner/src/entrypoint/options.dart 329:24 _BuildCommand.run
package:args/command_runner.dart 194:27 CommandRunner.runCommand
package:args/command_runner.dart 109:29 CommandRunner.run.<fn>
dart:async new Future.sync
package:args/command_runner.dart 109:11 CommandRunner.run
package:build_runner/src/entrypoint/run.dart 22:31 run
.dart_tool\build\entrypoint\build.dart 11:22 main
pub finished with exit code 1
如何纠正错误?
C:\Users\Matusevich\StudioProjects\hr_metrics>flutter --version
Flutter 0.5.7 • channel dev • https://github.com/flutter/flutter.git
Framework • revision 66091f9696 (5 weeks ago) • 2018-07-09 12:52:41 -0700
Engine • revision 6fe748490d
Tools • Dart 2.0.0-dev.63.0.flutter-4c9689c1d2
解决方案
发生这种情况是因为 Flutter 使用的是较旧的 SDK,其中 VM 不支持可选new
的,并且构建运行程序包在没有正确的 SDK 约束的情况下发布。
推荐阅读
- r - r 中的统计检验以显示组间的显着差异
- python - IntelliSense 仅适用于某些 Jupyter Notebooks 但并非全部适用 - VS Code
- html - HTML5 和 CSS @media 仅屏幕和
- python - 我如何在 python 中模拟 __init__
- java - ContextMenuItemSelected 和一半不工作
- gitignore - 为什么我收到代码 2:“没有匹配的文件”?
- excel - Excel Sumifs 在多列上具有垂直和水平
- video - 如何使用带有 Nvidia Acceleration (Nvenc) 的 FFMPEG 对字幕进行硬编码/刻录
- python - 如何在一个类中使用参数,在另一个类中
- php - 仅在 php 中从 youtube 下载 720p/mp4