小编Fli*_*lik的帖子

运行 docker compose 时出现“docker: 'compose' 不是 docker 命令”

在我的 M1 Mac pro 上安装最新版本的 Docker Desktop 后,尽管安装了所有正确的文件,但我似乎无法运行 docker compose。

我尝试在终端中运行docker-composedocker compose收到以下消息:docker: 'compose' is not a docker command.

运行后docker --version,我目前处于Docker version 20.10.21, build baeda1f

Compose 已正确添加到我的 PATH 变量中/usr/local/bin/,其中包含以下文件:

com.docker.cli          docker-credential-desktop       fuzzy_match         kubectl.docker
docker                  docker-credential-ecr-login     httpclient          vpnkit
docker-compose          docker-credential-osxkeychain   hub-tool            xcodeproj
docker-compose-v1       docker-index                    kubectl
Run Code Online (Sandbox Code Playgroud)

当我运行时which docker-compose,它返回/usr/local/bin/docker-compose,所以看起来一切都配置正确。

此外,跑步docker-compose-v1似乎确实因某些奇怪的原因而起作用。

有任何想法吗?

编辑:似乎在安装最新版本的 Docker(Docker Desktop 4.14.1 (91661)、Docker 版本 20.10.21、build baeda1f)后已修复此问题。

docker docker-compose

10
推荐指数
1
解决办法
2万
查看次数

Flutter:从 Hive 盒创建对象流

我正在尝试访问一些在整个应用程序中更改和访问的用户设置。为此,我使用 Hive 从框中检索用户设置。我想通过将检索到的对象转换为UserSettingsHive.box('settings').get(userID)被输入到StreamProvider.

我将如何变成Hive.box('settings').get(userID)一个流?

编辑:这是迄今为止我的代码实现:

本地数据库.dart

static Stream<UserSettings> get userSettings {
  return Hive.box('settings').watch(key: userID)?.map((boxEvent) {
    return boxEvent.value; // ========> value is always null from boxEvent
  });
}

static void saveUserSettings(UserSettings userPref) {
  Hive.box('settings').put(userID, userPref); 
}
Run Code Online (Sandbox Code Playgroud)

主程序.dart

class Launch extends StatefulWidget {
  @override
  _LaunchState createState() => _LaunchState();
}

class _LaunchState extends State<Launch> {
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        StreamProvider<User>.value(value: AuthService.user),
        StreamProvider<UserSettings>.value(value: LocalDatabase.userSettings),
      ],
      child: MaterialApp(
        title: 'MyApp',
        home: AuthWrapper(), …
Run Code Online (Sandbox Code Playgroud)

asynchronous dart flutter flutter-hive

6
推荐指数
2
解决办法
9801
查看次数

从 freeze 生成的类创建重复的 FromJson 方法

我有一个类,我试图将其与 Freezed、Json Serialized 和 Hive 一起使用。运行dart run build_runner build并生成必要的类后,我的编译器给出以下错误:

: Error: Can't use '_$FooBarFromJson' because it is declared more than once.

: Error: '_$FooBarFromJson' is already declared in this scope.

part 'foobar.freezed.dart';
part 'foobar.g.dart';

@freezed
@JsonSerializable(explicitToJson: true)
@HiveType(typeId: 0)
class FooBar extends HiveObject with _$FooBar  {

  factory FooBar({
    @HiveField(0) required int baz
  }) = _FooBar;

  factory FooBar.fromJson(Map<String, dynamic> json) =>
      _$FooBarFromJson(json);
  }
}
Run Code Online (Sandbox Code Playgroud)

查看生成的类后,我的foobar.g.dart文件包含以下方法:

FooBar _$FooBarFromJson(Map<String, dynamic> json) => FooBar(
      baz: json['baz'] as int,
    ); …
Run Code Online (Sandbox Code Playgroud)

hive flutter json-serializable freezed

5
推荐指数
1
解决办法
2609
查看次数

Flutter:重命名目录或更改路径后在 VS Code 中自动重构

我在 VS Code 上运行 Flutter,并且经常在 Lib 目录中进行更改,在其中重命名文件或更改它们在目录中的位置。进行更改后,我的所有导入语句都会出现错误Target of URI doesn't exist,并迫使我使用资源文件的正确文件路径手动更新每个导入语句。有没有办法让 VS Code 在文件名或位置发生更改时自动检测并更新所有依赖文件中的文件路径?

编辑:我在项目中使用绝对路径:import 'package:Project/model/example.dart'

dart visual-studio-code flutter

3
推荐指数
1
解决办法
2785
查看次数