我有一个纯DART服务器应用程序,它当前在一个类中使用‘dart:Mirrors’在运行时执行一些光反射工作.服务器应用程序在x86架构的开发Ubuntu机器上编译和运行得非常好,但同样的服务器应用程序无法作为Docker构建的一部分,在使用最新的arm64v8/dart:stable Docker Image的Ubuntu Raspberry pi 4上编译.

Docker构建错误:

---> Running in e4bdea430736\n\u001b[91merror: import of dart:mirrors is not supported in the current Dart runtime\n\u001b[0m\u001b[91mError: AOT compilation failed\n\u001b[0m\u001b[91mGenerating AOT snapshot failed!\u001b[0m\u001b[91m\n\u001b[0m

当前ART的arm64架构版本中是否不支持‘DART:Mirrors’?或者,这个问题可能是别的什么?

NOTE: The server app is pure Dart code (i.e. there is no Flutter code being used at all either directly or indirectly via dependencies - as far as I can see).

-更新

Dockerfile编译说明:

FROM arm64v8/dart:stable AS build
WORKDIR /tmp
RUN dart pub get
RUN dart pub upgrade
RUN dart pub outdated
RUN dart compile exe /example.com/example_api/bin/server.dart -o /example.com/example_api/bin/server

推荐答案

自含式可执行文件(Exe)具有局限性.其中之一是不支持dart:mirrorsdart:developer

请判断documentation,您可以try JIT快照或内核子命令,因为它们没有该限制.

Dart相关问答推荐

dart run edge build cloudflare_workers --dev 命令在我的项目(笔记本电脑)中不起作用

为什么 Dart 的编译器认为代码可能为空,而代码保证它不能为空?

如何在polymer应用程序中实现主要功能

Dart 中的静态构造函数

Flutter:Firebase身份验证无需登录即可创建用户

FlutterError (setState() 在 dispose() 之后调用:(生命周期状态:defunct,not mounted)

MappedListIterable 不是子类型

AngularDart 可以直接路由到组件吗?

`pub get` 将 pubspec 依赖项下载到哪里?

Flutter ButtonRow 填充

为什么使用Dart作为前端开发人员?

Flutter-如何更改文本字段边框 colored颜色 ?

参数类型PointerEvent不能分配给参数类型PointerDownEvent

如何使用flatter删除Firestore文档中的字段

Dart:默认 gitignore?

dart 如何创建、监听和发出自定义事件?

Dart 中的 final 修饰符有什么作用?

在 Dart 中,你能不能从一个构造函数中调用另一个构造函数

如何在 Dart 中读取控制台输入/标准输入?

在 Dart 中将类型化函数作为参数传递