跳转到主要内容

高级安装说明

要安装预构建的 Electron 二进制文件,请使用 npm。 推荐的方法是将 Electron 作为您应用程序的开发依赖项进行安装

npm install electron --save-dev

有关如何在您的应用程序中管理 Electron 版本的信息,请参阅 Electron 版本控制文档

临时运行 Electron

如果您遇到了紧急情况,并且更喜欢不使用 npm install 在您的本地项目中使用,您还可以使用与 npm 捆绑在一起的 npx 命令运行器临时运行 Electron

npx electron .

上面的命令将使用 Electron 运行当前工作目录。 请注意,您的应用程序中的任何依赖项都不会被安装。

自定义

如果您想更改下载的架构(例如,在 arm64 机器上使用 x64),您可以使用 --arch 标志与 npm install 一起使用,或设置 npm_config_arch 环境变量

npm install --arch=x64 electron

除了更改架构之外,您还可以使用 --platform 标志指定平台(例如,win32linux 等)

npm install --platform=win32 electron

代理

如果您需要使用 HTTP 代理,则需要将 ELECTRON_GET_USE_PROXY 变量设置为任何值,以及根据您的主机系统的 Node 版本设置其他环境变量

自定义镜像和缓存

在安装过程中,electron 模块将调用 @electron/get 来下载适用于您平台的预构建 Electron 二进制文件。 它将通过联系 GitHub 的发布下载页面(https://github.com/electron/electron/releases/tag/v$VERSION,其中 $VERSION 是 Electron 的确切版本)来完成此操作。

如果您无法访问 GitHub 或需要提供自定义构建,可以通过提供镜像或现有的缓存目录来完成此操作。

镜像

您可以使用环境变量来覆盖基本 URL、查找 Electron 二进制文件的路径以及二进制文件名。 @electron/get 使用的 URL 如下组成

url = ELECTRON_MIRROR + ELECTRON_CUSTOM_DIR + '/' + ELECTRON_CUSTOM_FILENAME

例如,要使用中国 CDN 镜像

ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"

默认情况下,ELECTRON_CUSTOM_DIR 设置为 v$VERSION。 要更改格式,请使用 {{ version }} 占位符。 例如,version-{{ version }} 解析为 version-5.0.0{{ version }} 解析为 5.0.0,而 v{{ version }} 等效于默认值。 举个更具体的例子,要使用中国非 CDN 镜像

ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
ELECTRON_CUSTOM_DIR="{{ version }}"

上面的配置将从诸如 https://npmmirror.com/mirrors/electron/8.0.0/electron-v8.0.0-linux-x64.zip 之类的 URL 下载。

如果您的镜像提供的工件与官方 Electron 发布具有不同的校验和,您可能需要直接设置 electron_use_remote_checksums=1,或在 .npmrc 文件中进行配置,以强制 Electron 使用远程 SHASUMS256.txt 文件来验证校验和,而不是嵌入的校验和。

缓存

或者,您可以覆盖本地缓存。 @electron/get 会将下载的二进制文件缓存在本地目录中,以减轻网络压力。 您可以使用该缓存文件夹来提供 Electron 的自定义构建,或完全避免与网络联系。

  • Linux: $XDG_CACHE_HOME~/.cache/electron/
  • macOS: ~/Library/Caches/electron/
  • Windows: $LOCALAPPDATA/electron/Cache~/AppData/Local/electron/Cache/

在已经使用 Electron 旧版本的环境中,您可能会在 ~/.electron 中找到缓存。

您还可以通过提供 electron_config_cache 环境变量来覆盖本地缓存位置。

缓存包含版本的官方 zip 文件以及校验和,并存储为 [校验和]/[文件名]。 一个典型的缓存可能如下所示

├── a91b089b5dc5b1279966511344b805ec84869b6cd60af44f800b363bba25b915
│ └── electron-v15.3.1-darwin-x64.zip

Postinstall 脚本

在底层,Electron 的 JavaScript API 绑定到一个包含其实现的二进制文件。 由于此二进制文件对于任何 Electron 应用程序的功能至关重要,因此默认情况下,每次从 npm 注册表中安装 electron 时,都会在 postinstall 步骤中下载它。

但是,如果您想安装项目的依赖项,但不需要使用 Electron 功能,可以将 ELECTRON_SKIP_BINARY_DOWNLOAD 环境变量设置为防止下载二进制文件。 例如,此功能在连续集成环境中运行模拟 electron 模块的单元测试时非常有用。

ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install

故障排除

在运行 npm install electron 时,一些用户偶尔会遇到安装错误。

在绝大多数情况下,这些错误是网络问题而不是 electron npm 包的实际问题。 诸如 ELIFECYCLEEAI_AGAINECONNRESETETIMEDOUT 之类的错误都表明存在此类网络问题。 最佳解决方案是尝试切换网络,或稍等片刻后再次尝试安装。

如果通过 npm 安装失败,您还可以尝试直接从 electron/electron/releases 下载 Electron。

如果安装过程中出现 EACCESS 错误,您可能需要 修复您的 npm 权限

如果上述错误仍然存在,可能需要将 unsafe-perm 标志设置为 true

sudo npm install electron --unsafe-perm=true

在较慢的网络上,建议使用 --verbose 标志以显示下载进度

npm install --verbose electron

如果您需要强制重新下载资产和 SHASUM 文件,请将 force_no_cache 环境变量设置为 true