我有一个非常有趣的问题,我遇到了,我正在从.dart文件本地运行我的Dart系统。但是在构建过程中,我生成了.snapshot文件,运行时收到“错误的脚本快照版本”错误。使用飞镖快照 - “错误的脚本快照版本”
正如各种电子邮件列表中的建议,我尝试通过运行'dart'来重建快照。
我目前使用的是Dart 1.9.1。
谢谢。
ps。飞镖岩! :)
我有一个非常有趣的问题,我遇到了,我正在从.dart文件本地运行我的Dart系统。但是在构建过程中,我生成了.snapshot文件,运行时收到“错误的脚本快照版本”错误。使用飞镖快照 - “错误的脚本快照版本”
正如各种电子邮件列表中的建议,我尝试通过运行'dart'来重建快照。
我目前使用的是Dart 1.9.1。
谢谢。
ps。飞镖岩! :)
很奇怪。实际上,我在Dart构建函数中使用了--enable_async标志(来自1.8.5 SDK),只要我将它们移除,生成的shapshots就是有效的。
这通常发生在您升级Dart时,但不会自动删除先前版本的Dart创建的现有快照/project-name/.pub/bin
。
我会尝试删除整个文件夹:
$ rm -rf .pub
,然后通过运行达特再生快照:
$ pub get
$ dart main.dart
你是知道你在哪里创建快照并在您执行达特VM快照是完全一样的?相同的版本,相同的平台? 也许你可以在Docker容器中创建快照,作为dockerfile中的任务。 – 2015-04-04 20:31:11
好吧,为了理智的原因,我重新下载了Dart 1.9.1,用它来构建一个新的快照,然后用该快照和相同的Dart 1.9.1 sdk重建Docker镜像,并再次抛出相同的错误。至于在容器Id中创建快照而不是,因为我有一个自定义构建系统,可以在创建快照之前和之后执行其他处理,并且我的docker容器是通过静态Dockerfiles构建的.... – deepblue 2015-04-04 21:19:55
命令如何看起来像在Docker中调用你的Dart快照? – 2015-04-04 21:23:40