ThommyB
ThommyB

Reputation: 1556

Flutter hive: cannot generate Adapter files

I have a model like so:

import 'package:uuid/uuid.dart';
import 'package:hive/hive.dart';

part 'config_item.g.dart';

@HiveType()
class ConfigItem {
  @HiveField(0)
  String _id; // this can be a uuid or a MongoDB ObjectID
  @HiveField(1)
  final String deviceName;
....
}

I like to generate the Adapter file but it does not want to do it! When I call flutter packages pub run build_runner build --delete-conflicting-outputs I get the following output:

flutter packages pub run build_runner build  --delete-conflicting-outputs                main  ✭ ✈
[INFO] Generating build script...
[INFO] Generating build script completed, took 399ms

[SEVERE] Nothing can be built, yet a build was requested.
[INFO] Initializing inputs
[INFO] Reading cached asset graph...
[INFO] Reading cached asset graph completed, took 45ms

[INFO] Checking for updates since last build...
[INFO] Checking for updates since last build completed, took 399ms

[INFO] Running build...
[INFO] Running build completed, took 3ms

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 35ms

[INFO] Succeeded after 53ms with 0 outputs (0 actions)

In my pubspec.yaml I have:

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter


  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  bottom_navy_bar: ^6.0.0
  get_it: ^7.2.0
  get_it_mixin: ^3.1.3
  servicestack: ^2.0.0
  font_awesome_flutter: ^9.1.0
  hive: ^2.0.4
  hive_flutter: ^1.1.0
  path_provider: ^2.0.3
  uuid: ^3.0.4

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner:

I tried all sort of things like

But nothing helps! Any idea what is missing?

I am using the latest (stable) versions of flutter, dart SDK and AndroidStudio.

Upvotes: 9

Views: 19005

Answers (11)

Abolfazl
Abolfazl

Reputation: 1

I kinda had the same problem that the generator file wasn't written but please make sure that you've written the part 'yourfile.dart' part and then it creates the file automatically and writes the code. in summary make sure you didn't make the generator file by yourself :)

Upvotes: 0

KalixCode
KalixCode

Reputation: 11

I had same problem

1-First you should stop the project enter image description here

When the project is running ,You can't generate your file, in this photo you should tap on red button to stop project

2- And now run this code in terminal (after add lib in dependencies)

dart run build_runner build

Upvotes: 1

pierrea
pierrea

Reputation: 1487

I was getting the following when typing flutter packages pub run build_runner build in my console.

Deprecated. Use `dart run` instead.
Could not find package "build_runner". Did you forget to add a dependency?

This command worked for me instead: dart run build_runner build

Upvotes: 0

vidalbenjoe
vidalbenjoe

Reputation: 975

Don't forget to add hive_generator at the dev_dependencies. Here's the link https://pub.dev/packages/hive_generator

Upvotes: 1

MUHINDO
MUHINDO

Reputation: 1213

 flutter packages pub run build_runner build --delete-conflicting-outputs

Upvotes: 0

RIYAS PULLUR
RIYAS PULLUR

Reputation: 89

try this,

flutter packages pub run build_runner watch --use-polling-watcher --delete-conflicting-outputs

Upvotes: 1

Rohit Krishna
Rohit Krishna

Reputation: 202

Give TypeId for @HiveType.

In your Case :

import 'package:uuid/uuid.dart';
import 'package:hive/hive.dart';

part 'config_item.g.dart';

@HiveType(typeId: 0)
class ConfigItem {
  @HiveField(0)
  String _id; // this can be a uuid or a MongoDB ObjectID
  @HiveField(1)
  final String deviceName;
....
}

Upvotes: 0

Rishal
Rishal

Reputation: 354

pub run build_runner build 

after got the part .save it and the error will gone

Also add hive_generator in ur dev_dependecies.

hive_generator package can automatically generate TypeAdapters for almost any class.

If you have any other problem refer here

Upvotes: 3

Zaid Mirza
Zaid Mirza

Reputation: 3699

I faced the same issue but I was missing hive_generator: ^1.1.1. I didn't find it in the original Docs.

Special thanks to @Denny Mueller's comment

Upvotes: 7

haleh jahangiri
haleh jahangiri

Reputation: 1

i had same problem. i solved by saving my changes in pubspec.yaml. just press ctrl + s in pubspec.yaml then run flutter packages pub run build_runner build again.

Upvotes: 0

Arijeet
Arijeet

Reputation: 1223

Run this command :

flutter packages pub run build_runner build

But before that, you will have to import the generator.

Example : If your file name is project_database.dart, then in that file :

Import,

import 'package:hive/hive.dart';
part 'project_database.g.dart'; //this will show an error initially but if
 // you run the above command, it will generate the generator file

Upvotes: 16

Related Questions