首页 > 系统相关 >解决Windows中文用户名导致的Dart AOT编译失败问题

解决Windows中文用户名导致的Dart AOT编译失败问题

时间:2023-10-17 23:22:51浏览次数:49  
标签:exe Windows 路径 dart source AOT Dart

Windows中文用户名导致的Dart AOT编译失败

 

问题出现时的操作系统及Dart SDK版本


系统 Windows11 22H2 家庭中文版
Dart SDK version=3.1.3 (stable) (Tue Sep 26 14:25:13 2023 +0000) on "windows_x64"

 

问题的发生过程


  1. 我编写了一个简单的Dart HelloWorld程序source.dart, 像这样:

    展开代码
    import 'dart:io';
    

    void main()
    {
    print('Hello World!');
    var input = stdin.readLineSync(); //输入一串字符, 再输出
    stdout.writeln('input: $input');
    }


     

  2. 在文件管理器中, 打开这个source.dart文件所在文件夹, 然后右键打开PowerShell窗口. 输入命令:

    dart compile exe source.dart
    

    这是Dart官方文档规定的生成exe文件的编译方法.

  3. PowerShell窗口提示:

    Error: Unable to read file: C:\Users\某中文用户名\AppData\Local\Temp\83da944d\kernel.dill
    ../../runtime/vm/dart_api_impl.cc: 2290: error: Dart_ExitScope expects there to be a current isolate. 
        Did you forget to call Dart_CreateIsolateGroup or Dart_EnterIsolate?
    
    ...其他信息...
    
    Error: AOT compilation failed
    Generating AOT snapshot failed!
    

 

推测的原因及解决办法


  • 原因

    Dart编译过程中需要读写系统的用户临时文件夹, 而且似乎不允许这个临时文件夹路径中有中文字符.
    Windows11默认的用户临时文件夹路径是

    %USERPROFILE%\AppData\Local\Temp    //这里%USERPROFILE%指的是用户文件夹路径
    

     

    可以在 设置→系统→系统信息→高级系统设置→环境变量→用户变量 查看 TEMP 和 TMP 项目路径是否含中文字符.
    若是, 执行下面的步骤.

     

  • 解决办法

    把上述 TEMP 和 TMP 项目都修改为

    C:\UserTemp      //不一定是这个路径, 可以指定为别的路径
    

    然后保存.
     

  • 测试

    到程序源文件位置重新打开PowerShell窗口, 输入

    dart compile exe source.dart
    

    随后提示

    Generated: 当前路径\source.exe
    

    在文件管理器中可以看到预期的exe文件确实已生成. 打开此文件, 出现下面的窗口

    说明此exe文件能够正常执行.

标签:exe,Windows,路径,dart,source,AOT,Dart
From: https://www.cnblogs.com/huang-yi-san/p/17771004.html

相关文章

  • redis7.2.1在windows中通过docker使用的踩坑
    原本主要是参考了这两篇文章https://blog.csdn.net/weixin_45821811/article/details/116211724https://cloud.tencent.com/developer/article/1670205但是由于都是基于linux系统下的,可能与windows有些不同。首先,在https://hub.docker.com/_/redis?tab=tagsdocker官网上找到......
  • 【v2v迁移】Xen2kvm 迁移-Windows篇
    迁移环境:源平台:华为FusionComputeV100R006C10SPC101目标平台:基于KVM虚拟化的云平台,本文以原生的libvirt为例虚拟机:Windowsserver2012R2具体操作步骤:本文的前3个步骤与【v2v迁移】Xen2kvm迁移-linux篇基本一致:导出vhd,安装qemu-img-hw工具,转换格式等。注意:导出之前,在源Wi......
  • 使用docker搭建drogon windows10,linux,mac下开发环境
    2023年10月13日14:52:26本机环境Windows10专业版22H2操作内核19045.2965如果直接在windows,linux,mac上直接搭建环境确实有一点难度,之前drogon官方并未提供官方镜像,现在有了docker镜像确实方便了,其实我是最近才有简述安装dockerdesktop,windows的虚拟化有2个方案hyper-v和w......
  • Windows Server 2016 OVF, updated Oct 2023 (sysin) - VMware 虚拟机模板
    WindowsServer2016OVF,updatedOct2023(sysin)-VMware虚拟机模板2023年10月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2016-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现在......
  • Windows Server 2019 OVF, updated Oct 2023 (sysin) - VMware 虚拟机模板
    WindowsServer2019OVF,updatedOct2023(sysin)-VMware虚拟机模板2023年10月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2019-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWind......
  • 【Python微信机器人】第一篇:在windows11上编译python
    前言我打算写一个系列,内容是将python注入到其他进程实现inlinehook和主动调用。本篇文章是这个系列的第一篇,后面用到的案例是注入python到PC微信实现基本的收发消息。文章着重于python方面的内容,所以对于微信找收发消息的call不会去讲过程,有兴趣的可以直接百度搜PC微信逆向。我......
  • Windows Server 2016 Standard RemoteApp应用发布配置举例
    RemoteApp应用发布介绍RemoteApp是微软在WindowsServer2008之后,在其系统中集成的一项服务功能,用户可以通过远程桌面访问远端服务器的桌面与程序,客户端本机在无须安装操作系统与应用程序的情况下也能正常使用远端服务器发布的各种桌面与应用。而在Windows2016中RemoteApp已......
  • windows 11不能锁屏了, Win + L无反应
    windows10、windows11不能锁屏了,Win+L无反应您好,了解到您在使用时遇到问题。请您尝试分别按Win键和L键,查看是否有效。然后,请您打开开始,点击用户头像,查看有无锁定的选项。如果有,请尝试点击后能否锁屏。另外,请您尝试以下方法,查看能否解决问题。由于以下方法需要更改注......
  • 珍惜免费升级Win11机会!微软宣布放弃Windows 10时间:还有2年
    对于微软来说,不升级Windows11的用户,就是最大的阻碍,如果你还坚守Windows10,那么不好意思了。Windows10支持将于2025年10月14日结束,用户正好有两年时间升级硬件并安装Windows11。整整两年后(距今730天),微软将发布Windows10家庭版和专业版的最后一次安全更新。这意味着Windows......
  • windows根据条件判断,重启网卡
    @echooffTITLE网络检测time/T>ping.txtpingwww.baidu.com-n1>>ping.txtfindstr/n"主机"ping.txtif%errorlevel%==0(rem网卡重启netshinterfacesetinterface"以太网"disablednetshinterfacesetinterface"以太网"en......