微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试初始化 Hive 时出现奇怪的错误

如何解决尝试初始化 Hive 时出现奇怪的错误

错误Unhandled Exception: HiveError: You need to initialize Hive or provide a path to store the Box.

基本上我的依赖中有这些,所以一切都应该很好。

  hive: ^1.4.4+1
  hive_Flutter: ^0.3.1
  path_provider: ^1.6.27

我也有import 'package:hive/hive.dart';import 'package:path_provider/path_provider.dart';文件

所以我只有

void doSomething() async {
    final documentDirectory = await getApplicationDocumentsDirectory();
    Hive.init(documentDirectory.path);
  }

打电话。

我不明白。我想我做的一切都是正确的。如果您需要其他东西,请告诉我。

解决方法

打开终端写入 扑扑酒吧得到 然后它会同步并工作

,

目前path_provider不支持WEB。您可以在此处查看:path_provider

您必须为 WEB 使用另一个目录。如果您使用 BLOC 作为状态管理,您可以执行以下操作:

if (!kIsWeb) {
    // if android or tablet
    HydratedBloc.storage = await HydratedStorage.build(
        storageDirectory: await getApplicationDocumentsDirectory(),);
} else {
    // if web
    HydratedBloc.storage = await HydratedStorage.build(
        storageDirectory: HydratedStorage.webStorageDirectory,);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。