V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuchengfeng1
V2EX  ›  程序员

electron-builder 打包提示 app.asar 被其他文件所使用。resource busy or locked, unlink app.asar

  •  
  •   liuchengfeng1 · 24 天前 · 626 次点击

    image.png

    经过排查发现是 vscode 对 release 这个文件夹进行了监听,无法删除。当我关闭 vscode ,release 就能删除了。

    image.png

    相关代码仓库是: https://github.com/pure-admin/electron-pure-admin

    8 条回复    2024-11-26 14:50:20 +08:00
    bertonzh
        1
    bertonzh  
       24 天前
    Windows 上最恶心的问题没有之一
    gadfly3173
        2
    gadfly3173  
       23 天前 via Android
    你 release 文件夹不在.gitignore 里吗?
    gadfly3173
        3
    gadfly3173  
       23 天前 via Android
    @gadfly3173 想了想就算不在里面,vscode 侦听也不会占用项目里面的文件夹呀,他应该只占用外层打开的文件夹,否则你甚至做不到在开着 vscode 的时候把 node_modules 删了重新 yarn 。感觉像是有其他的插件占用了。
    liuchengfeng1
        4
    liuchengfeng1  
    OP
       23 天前
    @gadfly3173 在.gitignore 里。跟重新打包没有关系,就是 vscode 在监听这个文件,关掉就没事了.....大佬可以看看,相关代码仓库是: https://github.com/pure-admin/electron-pure-admin 。运行起来,修改代码,打包就会出现这个问题
    Daotin
        5
    Daotin  
       23 天前
    遇到过,需要把打包后的 release 删除后才能重新打包。怀疑是窗口关闭后,进程没有完全关闭,还在使用里面的文件。
    liuchengfeng1
        6
    liuchengfeng1  
    OP
       19 天前
    @Daotin 对啊,你有没有解决呐
    liuchengfeng1
        7
    liuchengfeng1  
    OP
       10 天前
    已解决:electron-builder.json5 里面加

    ```
    asar: false,
    ```

    ![image.png]( https://s2.loli.net/2024/11/21/4Q2ETwWFfbaDJvz.png)
    liuchengfeng1
        8
    liuchengfeng1  
    OP
       5 天前
    解决二:vscode 可以再 setting.json 里配置忽略 dist_electron 文件夹

    ···json
    "files.exclude": {
    "dist_electron": true,
    }
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2605 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 10:37 · PVG 18:37 · LAX 02:37 · JFK 05:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.