在Window下打包Electron的linux包

在Window下打包Electron的linux包

写这份文档主要是记录一下在Window系统下打linux的electron包的一些坑以及方法。
首先,第一次接触的时候,看electron官网中写道可以构建多平台的包,理所当然的以为可以在一个平台下打不同平台的包。于是乎尝试了一下:
在这里插入图片描述报错如下,多方查证度娘,得到的结果是,本来可以。但是由于该服务在去年就挂了之后window环境下就无法打linux的包。好嘛,难道我一定要去liunx下重新搭个环境吗? 其实不然。

查找过程和解决办法:

首先我使用的electron版本为 electron-12.0.8 以及 electron-builder 打包工具
我们可以查到 electron-builder 官网文档 中多平台构建的说明,其第一句话就说到:

在这里插入图片描述
不要期望您可以在一个平台上为所有平台构建应用程序。

下面还有一句

在这里插入图片描述
**免费的公共 Electron 构建服务 用于在 Windows 上构建适用于 Linux 的 Electron 应用程序。在 macOS/Linux 上,您可以在本地为 Windows 构建 Electron 应用程序,除了 Windows Store 的 Appx(将来(随时提交问题)electron-build-service 将支持 Appx 目标)。
**

对,这就是上面提到的已经挂掉了的免费打包成linux的服务。

而,在文档的末尾有提到过,可以使用 Docker 来构建Linux包。于是乎我行动了。

操作步骤:

1.安装 Docker 地址点这

刚装完最新版的 docker ,启动时出现以下提示1
在这里插入图片描述

首先在命令行中输入 systeminfo 检查验证硬件兼容性,然后检查 Hyper-V 要求部分,验证Windows中的硬件兼容性。如果所有列出的Hyper-V要求的值都为Yes,则系统可以运行Hyper-V下,如下图:
在这里插入图片描述
同样需要四项均为“是”才符合运行Hyper-V虚拟机的要求。

之后进入 bios 开启:
注:不同的主板BIOS设置项不同,但大同小异。
在这里插入图片描述
进入CPU Configuration设置界面,在底部可以看到 Intel Virtualization Technology 设置项。如图:
在这里插入图片描述
把它设置为Enabled,这样就开启了CPU的虚拟化支持功能。最后保存退出BIOS设置。

之后也注意如下设置也要全部开启:
在这里插入图片描述
到此解决这个虚拟化没开启的功能。正常打开Docker

2.使用以下控制台命令下载electronuserland/builder Docker 镜像:
docker pull electronuserland/builder
在这里插入图片描述
3.从 Electron 项目的根文件夹(例如C:\MyApp),键入以下命令行命令以运行容器并将 Electron 项目的根文件夹映射到 /project 虚拟路径:

docker run --rm -ti -v C:\MyApp\:/project -w /project electronuserland/builder

4.在容器内部,输入以下命令来重新安装 Electron 项目的 Npm 依赖包,这一步很重要。因为有些解析的npm依赖包会根据不同环境下安装不同的依赖,就比如node-sass包

Linux 可再发行包:

cd /project
npm i
npm run build

具体运行打包的命令根据项目中的package.json中的配置命令而变
如:
在这里插入图片描述

其中打包的后缀 -l --arm64 均为electron-builder的CLI打包命令 具体可查官网解析:

Commands:
  electron-builder build                    Build                      [default]
  electron-builder install-app-deps         Install app deps
  electron-builder node-gyp-rebuild         Rebuild own native code
  electron-builder create-self-signed-cert  Create self-signed code signing cert
                                            for Windows apps
  electron-builder start                    Run application in a development
                                            mode using electron-webpack

Building:
  --mac, -m, -o, --macos   Build for macOS, accepts target list (see
                           https://goo.gl/5uHuzj).                       [array]
  --linux, -l              Build for Linux, accepts target list (see
                           https://goo.gl/4vwQad)                        [array]
  --win, -w, --windows     Build for Windows, accepts target list (see
                           https://goo.gl/jYsTEJ)                        [array]
  --x64                    Build for x64                               [boolean]
  --ia32                   Build for ia32                              [boolean]
  --armv7l                 Build for armv7l                            [boolean]
  --arm64                  Build for arm64                             [boolean]
  --dir                    Build unpacked dir. Useful to test.         [boolean]
  --prepackaged, --pd      The path to prepackaged app (to pack in a
                           distributable format)
  --projectDir, --project  The path to project directory. Defaults to current
                           working directory.
  --config, -c             The path to an electron-builder config. Defaults to
                           `electron-builder.yml` (or `json`, or `json5`), see
                           https://goo.gl/YFRJOM

Publishing:
  --publish, -p  Publish artifacts (to GitHub Releases), see
                 https://goo.gl/tSFycD
                [choices: "onTag", "onTagOrDraft", "always", "never", undefined]

Other:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]

再此过程中,可能会出现要求配置 homepage的错误。官网这里中也有提到打包linux包时必须要配置,否则报错
在这里插入图片描述

如果一切顺利:会在你当前的项目指定打包目录下出现对应包(deb、rpm、AppImage或您在当前项目package.json文件中配置的任何内容):
在这里插入图片描述
可以看到我们配置的deb的linux包已经成功打包


  1. https://www.jianshu.com/p/d9d80aa9a513 作者:littleyu ↩︎

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值