最近想尝试一下使用electron,但是光安装和打包发布的尝试就调整了一天
以下包括
- electron-forge环境变量设置
 - electron本体安装时候的网络问题
 - electron-forge安装时候的报错和缓慢问题
 
electron源在国外还真是困扰
本文写于2022/08/25,请保证您的npm和node版本尽量是新的
安装时卡顿或缓慢问题
较通用解决方案:设置环境变量
设置npm electron默认安装路径的环境变量
 npm config set ELECTRON_MIRROR http://npmmirror.com/mirrors/electron/
 能大概率解决electron安装缓慢或卡顿
删除变量npm config delete ELECTRON_MIRROR
查看npm 变量 npm config ls
使用淘宝源时卡住
electron 本体卡住
![]()
 主要卡在reify:lodash:timing reify:audit
这是由于npm换下载源为国内源导致的问题,在作者网络寻找解决时也发现有其他人遇见此问题,且尤其是淘宝源在作者的机器上绝对会卡顿
除设置环境变量,将npm换回原来的下载源解决外
npm install cnpm -g安装cnpm后使用cnpm安装electron也可解决
npm install --save-dev @electron-forge/cli卡住

 主要卡在reify:rxjs: timing reifyNode:node_modules/lodash
 同样出现在使用淘宝源时候,和上面的本体一样可以通过cnpm和设置变量解决
npx electron-forge import报错

 基本报错都有"electron-squirrel-startup"这个包安装失败
 报错信息多种多样,包括但不限于
- 网络重置
 - 超时
 - lockfile的版本错误
第三个会告诉你本地和依赖的lockfile版本对不上,但其实本地已经是2版本了 
由于是npx安装,cnpm用不上,npm国内源基本报错,npm官方源等半小时都不一定安装完
由于electron-forge import的作用是修改package.json的开发依赖并且帮你安装上依赖
手动安装即可解决这个问题,请一定先设置环境变量,否则将会导致国内网络环境打包安装非常缓慢
 将下面内容复制进package.json文件
{
    "name": "problem-test",
    "version": "1.0.0",
    "author": {
      "name": "canals"
    },
    "description": "demo-electron",
    "main": "main.js",
    "scripts": {
      "start": "electron-forge start",
      "package": "electron-forge package",
      "make": "electron-forge make",
      "e-start": "electron ."
    },
    "devDependencies": {
      "@electron-forge/cli": "^6.0.0-beta.65",
      "@electron-forge/maker-deb": "^6.0.0-beta.65",
      "@electron-forge/maker-rpm": "^6.0.0-beta.65",
      "@electron-forge/maker-squirrel": "^6.0.0-beta.65",
      "@electron-forge/maker-zip": "^6.0.0-beta.65",
      "electron": "^20.1.0"
    },
    "dependencies": {
      "electron-squirrel-startup": "^1.0.0"
    },
    "config": {
      "forge": {
        "packagerConfig": {},
        "makers": [
          {
            "name": "@electron-forge/maker-squirrel",
            "config": {
              "name": "electron_demo"
            }
          },
          {
            "name": "@electron-forge/maker-zip",
            "platforms": [
              "darwin"
            ]
          },
          {
            "name": "@electron-forge/maker-deb",
            "config": {}
          },
          {
            "name": "@electron-forge/maker-rpm",
            "config": {}
          }
        ]
      }
    }
  }
"devDependencies"的版本后缀都是一样的
可以安装最新版本的@electron-forge/cli,把版本号复制到下面几个
然后npm install或cnpm install,把依赖装上
一定设置环境变量
 npm run make即可成功快速安装打包依赖并且打包成功