flutter - 从 3.0.1 => 4.0.1 升级后颤振斩波器构建失败,请帮助了解生成器输出
问题描述
我确实将我的颤振项目升级到了颤振2,作为升级的一部分,我确实将斩波器版本从 3.0.1 升级到了 4.0.1 nullsafety。之后,命令flutter packages pub run build_runner watch --delete-conflicting-outputs
开始显示错误,这很难理解,因为我什至找不到错误消息指向的代码。这是错误输出片段:
[INFO] 16.1s elapsed, 35/51 actions completed.
[SEVERE] chopper_generator:chopper_generator on lib/data/api/my_api.dart:
Could not format because the source could not be parsed:
line 29, column 53 of .: Expected to find ')'.
╷
29 │ final $parts = <PartValue>[PartValue<String*>('name', name), PartValueFile<MultipartFile>('file', file)];
│ ^
╵
line 124, column 63 of .: Expected to find '}'.
╷
124 │ @override Future<Response<BuiltList<Places>>> getPlace({String* jwtToken}) { final $url = 'place';
│ ^
╵
line 55, column 55 of .: Expected to find ')'.
在第 29 行的源代码 lib/data/api/my_api.dart 中,没有显示消息,但有:
我确实搜索了所有项目文件,但没有找到任何包含显示我的代码错误消息的文件。查看变量类型和名称,可以假设与 my_api.dart 代码中的错误匹配的行是:
@multipart
Future<Response<Users>> postMe({
@Header('Authorization') String jwtToken,
@Part("name") String name,
@PartFile("file") MultipartFile file
});
但我无法弄清楚他们有什么问题?
- -更新 - -
找到答案https://www.gitmemory.com/issue/lejard-h/chopper/249/824860498 将其添加到 pubspec.yaml 后,我生成了我的 chopper api
environment:
sdk: ">=2.12.0 <3.0.0"
dependency_overrides:
analyzer: ^1.4.0
hive_generator:
quiver: ^3.0.1
但这对我来说不是解决方案,因为我的项目不是 nullsafey,它使用的是 sdk>=2.9.0。似乎只有艰难的方法,那就是做空安全迁移((。谢谢
解决方案
推荐阅读
- c# - C# 验证在 Mac OS X (SecKeyRawSign) 上生成的签名不起作用
- codenameone - 代号 1 面容 ID 在身份验证时崩溃
- mysql - 如何合并 2 个表以获得每个子类别的希望日期和最后订购日期?
- google-bigquery - 尝试将列的值与另一个容器的多个值匹配
- r-markdown - Rmarkdown html 文档中的通用(非 R)代码折叠
- vb.net - 格式化为 C2 格式时如何将值传递给 DGV 单元
- python - 如何序列化两个嵌套的 Django 表?
- flutter - 如何从 dart 中的大 txt 文件中读取数据
- eclipse-hono - 设备注册表管理 API - 设备 - 不区分大小写的搜索
- bash - 如何创建以“\?$*'MaRViN'*$?\”命名的文件,其中包含 shell 的双引号?