Electron-Packager

使用electron-packager打包:https://github.com/electron/electron-packager
electron-packager要求Nodejs 8.0及以上才可运行
macOS和Linux平台,需要unzip,
Windows平台,需要.Net Framework 4.5及以上,和Powershell 3及以上的支持
如果是Windows和MacOS可以直接生成运行应用,但在Linux平台上发布的版本太多了,需要生成后继续生成相应对的文件

# For use in npm scripts (recommended)
# 使用npm调用命令(推荐使用)
npm install electron-packager --save-dev # For use from the CLI
# 使用命令直接生成包
npm install electron-packager -g

Linux生成文件工具

根据要生成的安装包来选择使用工具,关于生成代码前的操作,请参考electron-packager的使用
根据生成Linux安装包的文件扩展名来选择

DEB file(Ubuntu可用)
是Debian软件包格式扩展名,与Debian的命令一样,Deb包在Linux软件系统中类似于Windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。
https://github.com/electron-userland/electron-installer-debian

RPM file(CentOS可用)
https://github.com/electron-userland/electron-installer-redhat

Flatpak file
https://github.com/endlessm/electron-installer-flatpak

Snap file
https://github.com/electron-userland/electron-installer-snap

第一步:安装依赖包

可以全局安装应用包

npm install -g electron-installer-debian

如果只在项目中使用,并且在Script中直接进行调用

npm install --save-dev electron-installer-debian

第二步:安装系统依赖包

Ubuntu 中依赖fakeroot,在Ubuntu中需要先安装fakeroot(注意权限问题),在未安装fakeroot之前,生成应用包时会提示错误

先安装依赖fakeroot

sudo apt-get install -y fakeroot

提示:

如果是在Macbook电脑中生成安装应用包,则可以使用homebrew直接安装依赖

brew install fakeroot dpkg

第三步:生成安装包

调用命令生成安装包(electron项目中需要设置description信息,如没有,将无法生成应用包)
如果electron项目没有加入description信息,将无法生成安装包
正常来说,在创建electron项目时,就应该会填写项目的名称、版本、描述

生成安装包命令

electron-installer-debian --src dist/app-linux-x64/ --dest dist/installers/ --arch amd64

第四步:查看安装包文件及安装、使用

查看生成的安装包文件,可以看到扩展名是deb,这个可以安装在Ubuntu中,也可以通过其他的包生成其他格式的安装包,以配合CentOS及其他系统

在Ubuntu中安装应用

其中test即electron项目中的description中的内容
version对应到electron项目中的version
electron-mes对应到electron项目中的name
website对应到electron项目中的homepage

安装完成,应用列表中已经有刚刚安装的应用了

运行应用效果

Linux单独打包工具-Ubuntu的更多相关文章

  1. linux下打包工具

    InstallAnyWhere  IzPack  InstallJammer; installshield 也支持rpm打包 Advanced Installer

  2. Linux中常用压缩打包工具

    Linux中常用压缩打包工具 压缩打包是常用的功能,在linux中目前常用的压缩工具有gzip,bzip2以及后起之秀xz.本文将介绍如下的工具常见压缩.解压缩工具以及打包工具tar. gzip2 直 ...

  3. linux下压缩与打包工具——gzip, bzip2 和 tar;

    以下内容来自:阿铭http://www.apelearn.com/study_v2/chapter11.html, 把常用的写出来了:感觉可以了: 只管压缩与解压缩的工具: gzip 工具: 用的时候 ...

  4. 〖Linux〗联想K860/i Android 4.2及以上的Bootimg解压与打包工具

    因为自己有需要,所以花了一点时间来写了一下. 1. 解压工具 #!/bin/bash - #====================================================== ...

  5. Linux操作系统的打包/归档工具介绍

    Linux操作系统的打包/归档工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  6. linux 压缩解压打包工具大集合

    压缩.解压缩及归档工具有很多,今天小编就整理几个大家较为常用的. compress gzip  bzip2 xz zip tar cpio 一.压缩.解压工具 用法 压缩 工具 压缩后 压缩包格式 解 ...

  7. linux命令:压缩解压打包工具大集合

    目录 (1)zip 压缩.解压缩及归档工具有很多,今天小编就整理几个大家较为常用的. compress gzip  bzip2 xz zip tar cpio 一.压缩.解压工具 用法 压缩 工具 压 ...

  8. 77个常用Linux命令和工具

    77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...

  9. Linux文件打包与解压缩

    一.文件打包和解压缩 常用的压缩包文件格式.在 Windows 上我们最常见的不外乎这三种*.zip,*.rar,*.7z后缀的压缩文件,而在 Linux 上面常见常用的除了以上这三种外,还有*.gz ...

随机推荐

  1. JDK反编译的两种方式

    环境 链接:https://pan.baidu.com/s/1DwWj5Kt4Gfi68k_EOAea_Q 提取码:57j2 apktools+dex2jar+gd-gui 方式一: apktools ...

  2. 微信小程序错误readFile:fail parameter error: parameter.filePath should be String instead of Undefined;

    我是在使用camera组件时遇到的该问题 原因是未保存文件路径(微信使用摄像头拍照后会把图片保存在一个临时的路径,所以你需要自己定义一个变量来存这个路径,以备下次使用该变量去访问文件) 所以加上你需要 ...

  3. 如何:确定已安装的 .NET Framework 版本

    用户可在他们的计算机上安装和运行 .NET Framework 的多个版本. 当你开发或部署应用时,你可能需要知道用户的计算机上安装了哪些 .NET Framework 版本. .NET Framew ...

  4. appium webdriver 基本操作及小例子等

    #encoding=utf-8 ''' ''' #driver新建 driver=webdriver.Remote('http://localhost:4723/wd/hub',caps) #关闭dr ...

  5. 个性化召回算法实践(一)——CF算法

    协同过滤推荐(Collaborative Filtering Recommendation)主要包括基于用户的协同过滤算法与基于物品的协同过滤算法. 下面,以movielens数据集为例,分别实践这两 ...

  6. Java8新特性--Optional

    Java 8引入了一个新的Optional类.Optional类的Javadoc描述如下: 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会 ...

  7. Java出现 The server time zone value '�й���׼ʱ��' is unrecognized 异常

    解决办法: 在配置连接数据库的URL后面加上?serverTimezone=UTC ,如下: jdbc:mysql://localhost:3306/test?serverTimezone=UTC

  8. Selenium常用API的使用java语言之9-模拟键盘操作

    Keys()类提供了键盘上几乎所有按键的方法. 前面了解到, sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A. Ct ...

  9. POJ-2478-Farey Sequence(欧拉函数)

    链接: https://vjudge.net/problem/POJ-2478 题意: The Farey Sequence Fn for any integer n with n >= 2 i ...

  10. dubbo-本地直连

    一.背景 目前项目是基于dubbo做为rpc,zk为注册中心实现多个微服务之间的远程服务调用.但需要本地联调dubbo接口时,需要绕过注册中心,达到不干扰线上服务,即只订阅不注册服务的目的. 二.实现 ...