You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub Actions发布Electron Windows应用时遇EBUSY资源锁定错误

Electron Forge Windows发布卡在Squirrel打包阶段(EBUSY文件锁定错误)

问题详情

使用electron-forge publish发布Electron应用时,Mac和Linux平台正常,但Windows平台在执行到[STARTED] Making a squirrel distributable for win32/x64后卡住,取消工作流后出现EBUSY错误:

Fail to clean temporary files on exit :  Error: EBUSY: resource busy or locked, unlink 'C:\Users\RUNNER~1\AppData\Local\Temp\si-2023319-3264-ho6ipb.02ga\electron_publish_example.1.0.16.nupkg'

已尝试npm cache clean --force,无效。

GitHub Workflows配置片段:

publish_on_win:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v2       
    - uses: actions/setup-node@master
      with:
        node-version: 14
    - name: install dependencies
      run: npm ci
    - name: clean npm cache
      run: npm cache clean --force
    - name: publish
      env:
        GITHUB_TOKEN: ${{ secrets.TOKEN }}
      run: npm run publish

解决方案

1. 升级Node.js版本到LTS版

Node 14已停止维护,旧版本文件系统API存在Windows文件锁定兼容性问题。将GitHub Actions中的Node版本更换为16或18 LTS:

- uses: actions/setup-node@master
  with:
    node-version: 18 # 或16

2. 升级Electron Forge及Squirrel依赖

旧版本@electron-forge/maker-squirrel存在文件未正确释放的bug,执行以下命令升级依赖:

npm update @electron-forge/cli @electron-forge/maker-squirrel electron

提交修改后重新触发Workflow。

3. 禁用临时文件自动清理

通过环境变量让temp模块跳过自动清理,避免因锁定文件无法删除导致卡住:

- name: publish
  env:
    GITHUB_TOKEN: ${{ secrets.TOKEN }}
    CLEANUP_TEMP: "false"
  run: npm run publish

4. 打包前强制结束残留进程

Windows环境下可能存在残留进程锁定临时文件,在publish步骤前添加进程清理:

- name: Kill lingering processes
  run: |
    taskkill /f /im "node.exe" 2>nul || true
    taskkill /f /im "electron.exe" 2>nul || true

5. 更换Windows打包器

如果Squirrel问题持续,改用NSIS打包器:

  1. 安装依赖:npm install @electron-forge/maker-nsis --save-dev
  2. 修改forge.config.js的makers配置:
module.exports = {
  makers: [
    {
      name: '@electron-forge/maker-nsis',
      config: {
        // 可添加自定义NSIS配置
      }
    }
  ]
};

验证建议

优先尝试方案1和2,这两个是最常见的修复手段,多数情况下升级依赖和Node版本即可解决文件锁定问题。若无效,再依次尝试后续方案。

内容的提问来源于stack exchange,提问作者pstano1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 11:23:18