electron配置镜像解决打包失败的问题

1,795 阅读2分钟

背景

在开发electron的时候发现打包会报错

image.png 但是别担心,如果你并不需要安装包,只需要一个可执行文件的话那么你可以划走了,因为执行到这里时,你已经拥有了一个可执行程序,双击或右键打开就可以使用程序的所有功能 image.png

image.png 但如果你需要一个setup.exe,有多种方式,可参考官方文档(npm 中文文档 (nodejs.cn)

方式一

通过npm config set配置全局electron相关镜像,我这里是华为镜像(小tip:想要知道镜像是否有效,可以直接复制链接点进去看看需要的包版本是否在这个镜像下存在)

# 设置 npm
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
# 设置 electron_mirror
npm config set electron_mirror=https://mirrors.huaweicloud.com/electron/
# 设置 electron_builder_binaries_mirror
npm config set electron_builder_binaries_mirror=https://mirrors.huaweicloud.com/electron/

方式二

配置项目级别镜像,在项目的根目录添加一个.npmrc文件,内容如下 image.png

ELECTRON_MIRROR=https://mirrors.huaweicloud.com/electron/
ELECTRON_BUILDER_BINARIES_MIRROR=https://mirrors.huaweicloud.com/electron-builder-binaries/

权限问题

如果接下来你仍然报错权限问题

image.png win+X选择Windows PowerShell (管理员)再尝试打包,不出意外,你应该就可以顺利获得一个setup.exe了~

image.png

清除自定义镜像

如果选择方式一的话,可以通过npm config get命令查看设置的源

# 查看 registry
npm config get registry
# 查看 electron_mirror
npm config get electron_mirror
# 查看 registry
npm config get electron_builder_binaries_mirror

可以通过npm config delete命令清空源(或者也可以指定为官方源或其他源)

# 删除 registry
npm config delete registry
# 删除 electron_mirror
npm config delete electron_mirror
# 删除 registry
npm config delete electron_builder_binaries_mirror

其他npm命令

# 查看 npm 全局安装位置
npm root -g
# 删除缓存文件夹中的所有数据
npm cache clean

参考

npm CLI 9.x - npm 中文文档 (nodejs.cn)