高级安装说明
要安装预构建的 Electron 二进制文件,请使用 npm
。首选方法是将 Electron 作为开发依赖项安装在您的应用中
npm install electron --save-dev
有关如何在应用中管理 Electron 版本的信息,请参阅Electron 版本控制文档。
临时运行 Electron
如果您急需使用 Electron,且不想在本地项目中运行 npm install
,您也可以使用 npm
自带的 npx
命令运行器来临时运行 Electron
npx electron .
上述命令将使用 Electron 运行当前工作目录。请注意,您应用中的任何依赖项都不会被安装。
自定义
如果您想更改下载的架构 (例如,在 x64
机器上下载 ia32
),可以在 npm install 中使用 --arch
标志,或者设置 npm_config_arch
环境变量
npm install --arch=ia32 electron
除了更改架构外,您还可以使用 --platform
标志指定平台 (例如,win32
、linux
等)。
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 文件以及校验和,并以 [checksum]/[filename]
的格式存储。典型的缓存结构可能如下所示:
├── a91b089b5dc5b1279966511344b805ec84869b6cd60af44f800b363bba25b915
│ └── electron-v15.3.1-darwin-x64.zip
跳过二进制文件下载
在底层,Electron 的 JavaScript API 绑定到一个包含其实现的二进制文件。由于此二进制文件对任何 Electron 应用的功能都至关重要,因此默认情况下,每次从 npm 注册表安装 electron
时,都会在 postinstall
步骤中下载它。
但是,如果您想安装项目的依赖项但不需要使用 Electron 功能,可以设置 ELECTRON_SKIP_BINARY_DOWNLOAD
环境变量来阻止下载二进制文件。例如,当在持续集成环境中运行模拟了 electron
模块的单元测试时,此功能会很有用。
- npm
- Yarn
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install
ELECTRON_SKIP_BINARY_DOWNLOAD=1 yarn install
故障排除
运行 npm install electron
时,一些用户偶尔会遇到安装错误。
几乎所有情况下,这些错误都是网络问题导致的,而不是 electron
npm 包本身的问题。ELIFECYCLE
、EAI_AGAIN
、ECONNRESET
和 ETIMEDOUT
等错误都表明存在网络问题。最佳解决方案是尝试切换网络,或者稍等片刻再试着安装。
如果通过 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
。