电脑是用的mac,安装了parallels desktop ,想用electron 想同时打包出 苹果版本和windows版本。因为是在虚拟机里安装,它常被我重装,所以记录一下打包的整个过程。另外就是node生态太活跃,几个依赖没记录具体版本,很容易各种报错。
window10
node: 18.18.2
yarn: 1.22.21
nrm: 1.2.6
electron: 23.3.13
到 Releases · coreybutler/nvm-windows · GitHub
下载 nvm-setup 并安装
在cmd中安装node版本
> nvm install 18.18.2
> npm config set registry https://registry.npmmirror.com/
> npm install -g nrm
nrm ls

选择 tencent (因为作者在当时使用taobao云时,有个依赖一直超时,选择tencent后,可以了)
nrm use tencent

> npm install -g yarn
> yarn init

> yarn add electron@23.3.13
或者你不知道23版本哪个最新
> yarn add electron@23
我们新建一个 main.js 拷贝官方的代码
- const { app, BrowserWindow } = require('electron/main')
-
- const createWindow = () => {
- const win = new BrowserWindow({
- width: 800,
- height: 600
- })
-
- win.loadFile('index.html')
- }
-
- app.whenReady().then(() => {
- createWindow()
-
- app.on('activate', () => {
- if (BrowserWindow.getAllWindows().length === 0) {
- createWindow()
- }
- })
- })
-
- app.on('window-all-closed', () => {
- if (process.platform !== 'darwin') {
- app.quit()
- }
- })
- {
- "name": "my-electron-app",
- "version": "1.0.0",
- "author": "hott1985",
- "description": "Hello World!",
- "main": "main.js",
- "scripts": {
- "start": "electron .",
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "license": "MIT",
- "devDependencies": {
- "electron": "23.1.3"
- }
- }
> yarn run start
因为我们的环境是window10所以打包出来可能是exe的
> yarn add @electron-forge/cli
> npx electron-forge import

- {
- "name": "my-electron-app",
- "version": "1.0.0",
- "main": "main.js",
- "author": "hott1985",
- "description": "Hello World!",
- "scripts": {
- "start": "electron-forge start",
- "test": "echo \"Error: no test specified\" && exit 1",
- "package": "electron-forge package",
- "make": "electron-forge make"
- },
- "license": "MIT",
- "dependencies": {
- "@electron-forge/cli": "^7.3.0",
- "@electron-forge/plugin-fuses": "^7.3.0",
- "@electron/fuses": "^1.7.0",
- "electron-squirrel-startup": "^1.0.0"
- },
- "devDependencies": {
- "@electron-forge/maker-deb": "^7.3.0",
- "@electron-forge/maker-rpm": "^7.3.0",
- "@electron-forge/maker-squirrel": "^7.3.0",
- "@electron-forge/maker-zip": "^7.3.0",
- "@electron-forge/plugin-auto-unpack-natives": "^7.3.0",
- "electron": "23.3.13"
- }
- }

> yarn add @electron-forge/plugin-fuses
继续试试
> yarn add @electron/fuses
可以进入运行时了

如果你前面没有在package.json中加入作者author和描述description 就会有错误

加上去重新执行就能在打包成了