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

Ubuntu系统下如何让Electron/Electron-Forge兼容Bun运行?

在Ubuntu上让Electron/electron-forge与Bun配合工作的解决方案

问题分析

electron-forge会硬校验npm版本,将npm映射到Bun后,检测到的版本是Bun的1.0.3,不符合其要求的^3.0.0 || ^4.0.0 || ~5.1.0 || ~5.2.0 || >= 5.4范围,导致启动失败。

具体解决步骤

方法1:用bun x直接运行electron-forge

  • 卸载全局安装的electron-forge(若已安装):
    bun remove -g @electron-forge/cli
    
  • 直接通过bun x临时调用指定版本的electron-forge:
    bun x @electron-forge/cli@6.4.2 start
    
    该方式会自动下载对应版本的electron-forge并以Bun作为运行时执行,绕开本地的版本检测逻辑。

方法2:修改electron-forge的系统检测逻辑

  • 在项目的node_modules/@electron-forge/core/dist/util/check-system.js文件中,找到检测npm版本的代码段
  • 注释掉版本校验逻辑,或修改版本范围为包含1.0.x,例如将版本判断条件调整为:
    // 原版本判断
    // if (!semver.satisfies(npmVersion, '^3.0.0 || ^4.0.0 || ~5.1.0 || ~5.2.0 || >= 5.4')) { ... }
    // 修改后
    if (!semver.satisfies(npmVersion, '^1.0.0 || ^3.0.0 || ^4.0.0 || ~5.1.0 || ~5.2.0 || >= 5.4')) { ... }
    
  • 保存修改后,重新运行electron-forge start

方法3:保留原生npm,项目依赖用Bun管理

  • 保留系统中已安装的Node.js(当前为18.15.0)及原生npm,不修改npm映射
  • 用Bun安装项目依赖:
    bun install
    
  • 修改项目package.json的scripts,用原生npm启动electron-forge:
    "scripts": {
      "start": "npm exec electron-forge start"
    }
    
  • 运行bun run start即可,此时electron-forge会检测到原生npm版本,同时项目依赖由Bun管理

错误输出参考

$ electron-forge start
⚠ Checking your system
  ✔ Found git@2.34.1
  ✔ Found node@18.15.0
  ✖ Incompatible version of NPM detected "1.0.3", must be in range ^3.0.0 || ^4.0.0 || ~5.1.0 || ~5.2.0 || >= 5.4…

It looks like you are missing some dependencies you need to get Electron running.
Make sure you have git installed and Node.js version >= 14.17.5
error: script "start" exited with code 1 (SIGHUP) 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:57:40