Electron安装打包指南
当前环境Debian Linux-Deepin
安装Node
直接下载

命令下载
下载
wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz
解压,解压后在当前盘多了个文件夹node-v14.15.1-linux-x64.(可自行改名)
sudo tar -zxvf node-v14.15.1-linux-x64.tar.gz
建立软链接
sudo ln -s /盘路径/node-v14.15.1-linux-x64/bin/node /usr/local/bin/
sudo ln -s /盘路径/node-v14.15.1-linux-x64/bin/npm /usr/local/bin/
查看版本
node -v
npm -v
卸载Node
1、卸载npm
sudo npm uninstall npm -g
2、卸载node
sudo apt-get remove nodejs npm -y
3、检查是否还存在
- 进入/usr/local/lib 删除所有 node 和 node_modules文件夹
- 进入/usr/local/include 删除所有 node 和 node_modules 文件夹
- 进入 /usr/local/bin 删除 node 的可执行文件
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/include/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/node*
设置淘宝镜像源
npm config set ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
查看当前镜像源
npm config get registry
安装Electron
采用命令全局安装electron。
npm install electron -g
建立软链接
sudo ln -s /盘路径/node-v14.15.1-linux-x64/bin/electron /usr/local/bin/
查看当前electron版本
electron -v
新建项目
创建一个文件夹surround:
mkdir surround && cd surround
建立一个包文件
npm init -y
生成一个该项目的描述文件package.json
{
"name": "Surround",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
创建脚本文件
建一个main.js文件,并加入如下js内容。
const { app, BrowserWindow } = require('electron')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
})
win.loadFile('index.html')
}
app.whenReady().then(createWindow)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
创建网页
对应于main.js中加载的网页地址,新建一个html页面。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body style="background: white;">
<h1>Hello World!</h1>
<p>
We are using node <script>document.write(process.versions.node)</script>,
Chrome <script>document.write(process.versions.chrome)</script>,
and Electron <script>document.write(process.versions.electron)</script>.
</p>
</body>
</html>
更改启动脚本
更改新建项目阶段所创建的package.json文件,内容为如下
{
"name": "Surround",
"version": "0.1.0",
"main": "main.js"
}
启动程序
进入到surround文件夹内,按照命令启动程序即可
electron .
或是在package.json中变更为如下脚本
{
"name": "Surround",
"version": "0.1.0",
"main": "main.js",
"scripts": {
"start": "electron ."
}
}
则可通过如下命令启动程序
npm start
如显示如下错误,不要用sudo打头即可。
Running as root without --no-sandbox is not supported.

安装打包工具
本次使用electron-packager,来完成打包工作,并采用全局安装。
npm install electron-packager -g
建立软链接
sudo ln -s /当前node文件夹路径/node-v14.15.1-linux-x64/bin/electron-packager /usr/local/bin/
安装依赖项
更改package.json文件,增加依赖项,可通过electron -v查看当前electron版本,将依赖项加入到devDependencies节点内。
{
"name": "Surround",
"version": "0.1.0",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"devDependencies": {
"electron": "~11.0.4"
}
}
执行安装依赖模块命令
npm install
当前文件夹下多了node_modules文件夹,存放当前项目依赖的模块,并还多了一个package-lock.json文件,该文件用于锁定当前依赖的模块来源及版本号。

执行打包
在当前文件夹内,采用全局命令打包形式,依照如下命令打包。
electron-packager . 'Surround' --platform=linux --arch=x64 --out=./out --app-version=0.1.0
脚本格式对照(仅限如上使用到的)
electron-packager
<location of project> 项目位置 . 代表当前文件夹下
<name of project> 打包项目名称
<platform> 目标运行平台
<architecture> 底层架构类型
<optional options> 可选配置
或者将命令写入package.json中,执行npm run-script package
{
"name": "Surround",
"version": "0.1.0",
"main": "main.js",
"scripts": {
"start": "electron .",
"package": "electron-packager . 'Surround' --platform=linux --arch=x64 --out=./out --app-version=0.1.0"
},
"devDependencies": {
"electron": "~11.0.4"
}
}
再执行如下命令打包
npm run-script package
最终都会在当前文件夹内多出一个out文件夹,其中放置着打包好了的程序。

内部详细文件为应用具体文件

如此,完成好了打包的应用程序,直接运行Surround可执行程序是没得问题的。
2020-12-14,望技术有成后能回来看见自己的脚步
Electron安装打包指南的更多相关文章
- Electron安装过程深入解析(读完此文解决Electron应用无法启动,无法打包的问题)
1. 安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装 ...
- electron入坑指南
electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...
- electron 安装失败解决办法
1.安装node https://nodejs.org/en/download/2.安装镜像工具npm install -g cnpm --registry=https://registry.npm. ...
- electron 安装
1.从网上下载的是nodejs的v0.10.42版本的安装文件,安装node-v0.10.42-x86.msi都使用默认安装,安装完成后会安装在C:\Program Files\nodejs\目录下, ...
- [转载]SharePoint 2013测试环境安装配置指南
软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...
- centOS安装Mysql指南
centOS安装Mysql指南 说明:使用操作系统centOS6.4 32位系统:mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz; 一.准备 下载mysql ...
- Cadence OrCad Allegro SPB 16.6 下载及安装破解指南
Cadence公司的电子设计自动化产品涵盖了电子设计的整个流程,包括系统级设计,功能验证,IC综合及布局布线,模拟.混合信号及射频IC设计,全定制集成电路设计,IC物理验证,PCB设计和硬件仿真建模等 ...
- 【转】服务器证书安装配置指南(Weblogic)
服务器证书安装配置指南(Weblogic) 详情请点击: http://verisign.itrus.com.cn/html/fuwuyuzhichi/fuwuqizhengshuanzhuangpe ...
- 大数据应用日志采集之Scribe 安装配置指南
大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...
随机推荐
- 分布式 task_master / task_worker
17:08:0317:08:04 在Thread(线程)和Process(进程)中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分 ...
- maven项目导出为jar包
1:ctrl + R 输入cmd 2:切换路径到自己的项目路径下 3:执行--> mvn assembly:assembly ( 若显示编码问题: 查看编码方式:chcp 修改编码:chcp ...
- FL studio系列教程(五):FL Studio20自带的效果器Fruity Delay3功能
作为音乐编曲常用软件之一的FL Studio20,在国内外都有着很多真爱粉,当然,在国内我们一般都叫它水果音乐制作软件,或者直接叫"水果".它有丰富的内置插件于音源,想要用好这些插 ...
- jQuery 第九章 工具方法之插件扩展 $.extend() 和 $.fn.extend()
$.extend() $.fn.extend() -------------------------------------------------- $.extend() 插件扩展(工具方法) jq ...
- CLH lock queue的原理解释及Java实现
目录 背景 原理解释 Java代码实现 定义QNode 定义Lock接口 定义CLHLock 使用场景 运行代码 代码输出 代码解释 CLHLock的加锁.释放锁过程 第一个使用CLHLock的线程自 ...
- window consul安装和运行
consul 前言 一.consul是什么? 二.使用步骤 1.安装 2.启动 结束~~ 前言 刚开始接触spring cloud,其中就有用到consul,简单介绍一下以及怎么安装运行起来 提示:以 ...
- 牛客 2020.10.20 TG 前两题
T1 GCD 数学水题... 对于每个数,如果这个数有两个及以上的质因数的话,它所有除 \(1\) 之外的因数求 \(GCD\) 的值一定为 \(1\).那么判断是否是质数或质数的次方即可(质数除 \ ...
- 3. git命令行操作之远程库操作
3.1 基本操作 注册GitHub账号 在本地创建一个本地库并初始化 登录到gitHub创建一个远程库 注意:windows的凭据管理器中会保存github登录信息.如果要切换登录者,先删除相应凭据 ...
- HDU 4920 Matrix multiplication 题解(内存访问连续性/卡常)
题目链接 题目大意 多组输入,给你两个n×n的矩阵,要你求他们相乘%3的值 题目思路 这个题目主要是要了解内存访问连续化,要尽量每次访问连续的内存 所以第一种方法会超时,第二种则AC.一种卡常技巧 代 ...
- Java基础教程——Socket编程
Socket通常也称作"套接字",用于描述IP地址和端口,可以用来实现不同虚拟机或不同计算机之间的通信. --百度百科 套接字允许应用程序插入到网络中,并与插入到网络中的其他应用程 ...