为了降本增效,许多企业采用 Electron 框架开发软件。
Electron 框架跨平台,理论上讲,开发一次就能适配 Windows、MacOS 和 Linux 三个平台。但现实中,很多软件仅适配了 Windows 和 MacOS。对于日常使用 deepin 等 Linux 的用户而言,需要花时间配置 Wine 来运行。
有没有什么方法让 Electron 软件原生运行?
有!提取 Windows 版本的资源包搬到 Linux上运行!
deepin资深用户 @米饭虚拟机 以《PDF切题工具v2.4》为例,展示了在 deepin 25 上迁移 Electron 软件到 Linux 的思路。
一、迁移全攻略
1. 分析 Electron 结构

- 进入 resources 文件夹,里面放着 app 文件夹或 .asar 文件:
app文件夹(示例)

asar文件(最常见)

Electron 软件(果) = app 文件夹 或 .asar 文件(核) + Electron 框架(壳)
2. 判断 Electron 版本
Electron 版本多,破坏性更改也多,选择合适的版本非常重要。
我们可以用 ImHex 查 Electron 版本。

- 将 .exe 文件拖进 ImHex,Ctrl+f 调用搜索,找到关键词“Electron v”,即可知道版本。
所用版本是 v28.3.3

3. 下载对应版本的 Electron 框架

项目地址:https://github.com/electron/electron



解压目录:/home/用户名/Desktop/xyz-amd64
4. 移动 app 文件夹或 .asar 文件
将 app 文件夹或 .asar 文件移动至步骤3 解压目录的 resources 文件夹中。

app 文件夹小文件多,直接移动要花大量时间。压缩移动再解压反而省时。

- 移动完成,删除 default_app.asar 文件(防止冲突):

5. 启动软件

稍等一会,软件界面出现在眼前:

顺利运行!
体验时,软件功能完整,流畅度跟 Windows 版别无二致。

6. 打包、安装 deb包
deepin 标准的 deb 包结构

封包中......

安装中,稍安勿躁……


移植成功!
二、常见问题
1. 软件运行不起来怎么办?
软件无法启动,说明软件源码有问题。
右键终端执行命令看看报错。知道报错原因,用 asar 工具拆包。需要安装 Node.js 和 asar模块才能拆包。(安装方法可自行问ai)
右键终端,在 resources 目录执行 asar 拆包命令:
asar e app.asar ./app
这样就能改源码,针对性修 bug 了。
修好后仍用 asar 命令封包:
asar p ./app app.asar
终端重新执行启动命令,发现软件可以正常启动。
2. 怎么向 ARM 和 龙芯移植?
把资源文件放进 arm64版和龙芯版的 Electron 框架就行。
- Release 的 Assets 中有 arm64版:


地址:https://ftp.loongnix.cn/electron/LoongArch/
3. 如何获取软件图标?
可用“採图标”软件获取 exe 软件图标。


.exe 文件较大,软件读取图标需要一些时间。



以上就是在 deepin 操作系统上进行 Electron 软件迁移的完整思路。
值得注意的是,该方法并不仅限于 deepin —— 它利用 Electron 跨平台运行的本质,将 Windows 版本的资源包提取出来,搭配对应架构和版本的 Electron 二进制文件即可原生运行。因此,也同样适用于主流 Linux 发行版,用户可以按照上述步骤轻松完成迁移,为 Linux 生态贡献一份力量。