flutter pub run build_runner构建失败

时间:2019-09-20 07:25:02

标签: flutter dart visual-studio-code

flutter版本:

function addRows(){
 //provided the row number is store in a different spreadsheet in a sheet called "savedRowSheet", cell "A1":
  var rowSheet=SpreadsheetApp.openById(YOUR SPREADSHEET_ID').getSheetByName('savedRowSheet');
  var rowValue=rowSheet.getRange('A1').getValue(); 
  var startRow = rowValue;
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.insertRowsAfter(startRow , 1);
}

在终端中创建新项目:

flutter_macos_v1.9.1+hotfix.2-stable

打开vscode,编辑flutter create myapp

pubspec.yaml

在终端中获取软件包:

dependencies:
  json_annotation: ^3.0.0

dev_dependencies:
  build_runner: ^1.7.0
  json_serializable: ^3.2.2

新的flutter pub get 并在下面填写:

/lib/user.dart

在终端中运行import 'package:json_annotation/json_annotation.dart'; part 'user.g.dart'; @JsonSerializable() class User extends Object { @JsonKey(name: 'seed') String seed; @JsonKey(name: 'results') int results; @JsonKey(name: 'page') int page; @JsonKey(name: 'version') String version; User( this.seed, this.results, this.page, this.version, ); factory User.fromJson(Map<String, dynamic> srcJson) => _$UserFromJson(srcJson); Map<String, dynamic> toJson() => _$UserToJson(this); }

flutter pub run build_runner build

为什么从未成功?!

11 个答案:

答案 0 :(得分:10)

尝试一下。

flutter pub get && flutter pub run build_runner build --delete-conflicting-outputs

答案 1 :(得分:5)

在pubsec.yaml中添加依赖项,分析器:“ 0.39.14”

flutter clean
flutter pub cache repair
flutter pub run build_runner clean

然后运行

flutter pub run build_runner build

答案 2 :(得分:3)

经过长时间尝试上述所有建议后,我将其与最新的build_runner和json_serializable版本一起使用: build_runner:^ 1.10.2 json_serializable:^ 3.4.0 不确定最终的解决方法是什么,但在我看来,其中一个问题是飞镖SDK有点过时了,因此请注意

答案 3 :(得分:2)

好像分析器正在破坏它,降级为analyzer: 0.38.2可以为我解决。

来源:https://github.com/dart-lang/sdk/issues/38499#issuecomment-533812652

答案 4 :(得分:1)

我有同样的问题。

成功生成带有以下内容的所有* .g.dart文件:

build_runner 0.9.2

json_serializable 0.5.8 + 1

json_annotation 0.2.9 + 1

答案 5 :(得分:1)

我遇到了同样的问题,因此我只是将更改首先保存在类中(在您的情况下是User类中)。
然后我只是尝试使用:

flutter pub run build_runner build

答案 6 :(得分:1)

确保类名与生成的文件名相同。例如:

部分'用户.g.dart';

class User {

}

答案 7 :(得分:1)

请在 flutter packages pub run build_runner build 命令之前为模型类创建默认的空构造函数

答案 8 :(得分:0)

在这种情况下可能不是这种情况,但是由于我的自动格式化程序删除了此行,我遇到了类似的问题:

part 'my_class.g.dart';

一旦我添加了这一行并再次运行命令,它就可以正常工作。

答案 9 :(得分:0)

更新2020/8/24: 似乎在版本中破坏了build_runner或json_serializable:

Analyzer: 0.39.16 

返回飞镖分析器版本:

Analyzer: 0.39.14 

为我修复了它。 因此,在0.39.16中有问题。

答案 10 :(得分:0)

我尝试了很多解决方案,但错误没有消失。 flutter packages pub run build_runner watch 命令以无限日志运行。

我删除了 pubspec.lock 并运行 flutter pub get 并再次安装依赖项并运行上面的命令。在这个错误消失之后。