在系统上: Dart VM版本:“ windows_x64”上的2.9.0-14.0.dev.flutter-2b917f5b6a(是)(星期三6月10日15:46:47 2020 +0000)
运行“ aqueduct db generate”创建00000001_initial.migration.dart可以。 但是,在编辑模型并重新运行“ aqueduct db generate”之后,我得到如下消息。 删除00000001_initial.migration.dart并重新运行后,就可以了。
消息:
-Aqueduct CLI版本:3.3.0 + 1 -渡槽项目版本:3.2.0 ***未捕获的错误 错误状态:NoSuchMethodError:在null上调用了getter'length'。 接收者:null 尝试通话:时长 **** Stacktrace
请帮助我!
答案 0 :(得分:2)
这是一个错误,并且仍然存在。在存在先前的迁移文件时发生。
只需擦除migrations/00000001_initial.migration.dart
,然后aqueduct db generate
将按预期工作。
在渡槽4.0.0-b1上测试
p.s。我知道这与问题中给出的解决方案相同,但是我遇到了同样的问题,一开始解决方案还不清楚。
答案 1 :(得分:2)
它还不在pub.dev上。
答案 2 :(得分:0)
您可以尝试降级 Dart 版本。
brew tap dart-lang/dart
brew uninstall dart
brew install dart@2.8
它帮助了我。
更新:
这是我的 pubspec.yaml
文件的内容:
name: mysecurename
description: mysecuredescription
version: 0.1.0
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
aqueduct: ^4.0.0-b1
analyzer: '>=0.32.0 <0.41.0'
runtime: ^1.0.0-5
http: ^0.12.0+4
mime: ^0.9.6+3
dev_dependencies:
test: ^1.0.0
aqueduct_test: ^2.0.0-b1
答案 3 :(得分:0)
使用isolate_executor包(对于aqueduct 3.2.0,dart 2.10.0 on Windows 10),我只是在lib\src\中为Executable类的“instanceOf”函数定义的namedArguments添加了默认值“const {}” isolate_executor.dart 如下: (起源)
U instanceOf<U> (String typeName, {List positionalArguments: const [], Map <Symbol, dynamic> namedArguments, Symbol constructorName}) {...}
(修改):
U instanceOf<U> (String typeName, {List positionalArguments: const [], Map <Symbol, dynamic> namedArguments: const {}, Symbol constructorName}) {...}
它运行良好,包括 dart 2.10.0。 不知道为什么,因为在dart的函数定义中已经有这个默认值声明了。
InstanceMirror newInstance (
Symbol constructorName, List <dynamic> positionalArguments,
[Map <Symbol, dynamic> namedArguments = const <Symbol, dynamic> {}]);
如果我错了,请检查并纠正我。