Electron在国内安装打包问题

一、npm或pnpm安装electron失败解决办法

  1. 设置淘宝镜像源 
pnpm:pnpm config set electron_mirror "https://npm.taobao.org/mirrors/electron/"
npm:npm config set electron_mirror "https://npm.taobao.org/mirrors/electron/"
  1. 安装
pnpm install electron //或者
npm install electron

另一种解决办法:

npm install electron 后,进入postinstall安装后,ctrl终止进程, 进入 Releases · electron/electron (github.com) 页面下载对应平台zip包:

如window下载electron-v15.3.0-win32-x64.zip

下载完成后,把zip文件放进node_modules/electron目录中

修改node_modules/electron中的install.js文件

注释如下代码:

downloadArtifact({
  version,
  artifactName: 'electron',
  force: process.env.force_no_cache === 'true',
  cacheRoot: process.env.electron_config_cache,
  checksums: process.env.electron_use_remote_checksums ? undefined : require('./checksums.json'),
  platform,
  arch
}).then(extractFile).catch(err => {
  console.error(err.stack);
  process.exit(1);
});

在注释代码的下方添加如下代码:

extractFile('./electron-v15.3.0-win32-x64.zip')

   然后终端进入node_modules/electron,运行命令node install.js, 或者在重新执行 pnpm install 之后会在electron文件夹中生成一个dist目录,就完成了

二、electron打包下载资源失败

由于electron默认打包会从github上下载相关二进制包,众所周知,国内GitHub访问是相当慢的,所以经常会出现下载失败导致打包不成功,这时我们就需要配置国内的镜像源,以解决从GitHub下载慢甚至无法下载的问题。

修改npm配置文件(没有就创建):

npm的配置文件为用户根目录下的:~/.npmrc(Windows路径为:C:\Users .npmrc)

prefix=/opt/node/global
cache=/opt/node/cache
registry=https://registry.npmmirror.com/
disturl=https://registry.npmmirror.com/-/binary/node/
sass_binary_site=https://registry.npmmirror.com/node-sass
phantomjs_cdnurl=https://registry.npmmirror.com/phantomjs
chromedriver_cdnurl=https://registry.npmmirror.com/-/binary/chromedriver/
operadriver_cdnurl=https://registry.npmmirror.com/-/binary/operadriver/
electron_mirror=https://registry.npmmirror.com/-/binary/electron/
electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/
always-auth=false

其中prefix是全局包 的路径,cache是缓存路径,这两个可以不配置。