Flutter:找不到软件包“ build_runner”

时间:2019-12-18 02:32:25

标签: flutter dart hive

我与Hive Packages合作,在我的项目中实现了模块化。 首先,我使用运行命令network创建名称为flutter create --template=package network的软件包,我引用了this

此软件包包括我的项目模型。之后,我创建了模型用户,然后运行命令来构建模型flutter packages pub run build_runner build --delete-conflicting-outputs

import 'package:hive/hive.dart';

part 'user_model_hive.g.dart';

@HiveType()
class UserModelHive extends HiveObject {
  @HiveField(0) 
  DateTime id;
  @HiveField(1)
  String giverName;
  @HiveField(2)
  String pinCodeNumber;

  UserModelHive({this.id, this.giverName, this.pinCodeNumber});
}

但是我遇到这样的错误Could not find package "build_runner". Did you forget to add a dependency? pub finished with exit code 65,我确定我的软件包network中已经包含了build_runner pubspec.yaml

name: network
description: A new Flutter package project.
version: 0.0.1
author:
homepage:

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  hive: ^1.1.1
  hive_flutter: ^0.2.1
dev_dependencies:
  flutter_test:
    sdk: flutter
  hive_generator: ^0.5.2
  build_runner: ^1.7.2

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:
  # To add assets to your package, add an assets section, like this:
  # assets:
  #  - images/a_dot_burr.jpeg
  #  - images/a_dot_ham.jpeg
  #
  # For details regarding assets in packages, see
  # https://flutter.dev/assets-and-images/#from-packages
  #
  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.
  # To add custom fonts to your package, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts in packages, see
  # https://flutter.dev/custom-fonts/#from-packages

  

我已经使用了此命令,但是什么也没发生   flutter packages getflutter pub get

如果需要,这是我的结构文件夹。

my structure folder

3 个答案:

答案 0 :(得分:3)

我也遇到了同样的错误。我已经通过在 dev_depndencies 中添加 build_runner 来解决它,在 pubspec.yaml 文件中,如 -

dev_dependencies:

build_runner: ^1.3.1

mobx_codegen: ^0.3.9

答案 1 :(得分:0)

如评论中分享的 GitHub 问题所述,该问题是由从不同目录运行应用程序引起的。在这种情况下,应用程序在发布的问题中以 root 身份运行。问题已通过从 /network 运行应用程序解决。

答案 2 :(得分:0)

我遇到过这个问题

我更改了我的模型类 @HiveType() 注释

@HiveType(0) 

就这样。问题解决了。

(我在这里发帖是为了未来面临这个问题的开发者)