Advanced Installation Instructions

要安装预编译的 Electron 二进制文件,请使用 npm。 首选方法是在你的应用程序中安装 Electron 作为开发依赖:

  1. npm install electron --save-dev

查看versioning doc获取如何在你的应用中管理Electron的相关信息。

运行 Electron ad-hoc

如果你不想在本地工程上使用 npm install 同时又没用其它选择时,你也可以使用 npm 捆绑的 npx 命令来运行 Electron ad-hoc:

  1. npx electron .

上面的命令会在当前工作目录下运行Electron。 需要注意的是,你的应用中的任何依赖将不会被安装。

自定义

如果想修改下载安装的位版本(例如, 在x64机器上安装ia32位版本), 你可以使用npm install中的--arch标记,或者设置npm_config_arch 环境变量:

  1. npm install --arch=ia32 electron

此外, 您还可以使用 --platform 来指定开发平台 (例如, win32linux 等):

  1. npm install --platform=win32 electron

代理

如果您需要使用 HTTP 代理,您需要设置 ELECTRON_GET_USE_PROXY 变量为 任何值。 附加额外的环境变量,取决于您的主机系统Node版本:

自定义镜像和缓存

在安装过程中,electron 模块会通过 electron-download 为您的平台下载 Electron 的预编译二进制文件。 这将通过访问 GitHub 的发布下载页面来完成 (https://github.com/electron/electron/releases/tag/v$VERSION, 这里的 $VERSION 是 Electron 的确切版本).

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

镜像

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

  1. url = ELECTRON_MIRROR + ELECTRON_CUSTOM_DIR + '/' + ELECTRON_CUSTOM_FILENAME

例如,使用一个中国的镜像:

  1. ELECTRON_MIRROR="https://cdn.npm.taobao.org/dist/electron/"

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

  1. ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"
  2. ELECTRON_CUSTOM_DIR="{{ version }}"

上述配置将从URL下载,例如https://npm.taobao.org/mirrors/electron-v8.0.0-linux-x64.zip

缓存

或者,您可以覆盖本地缓存。 electron-download 会将下载的二进制文件缓存在本地目录中,不会增加网络负担。 您可以使用该缓存文件夹来提供 Electron 的定制版本,或者避免进行网络连接。

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

在使用旧版本 Electron 的环境中,您也可以在~/.electron中找到缓存。

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

缓存中包含了以文本文件形式存储的带有校验和的版本官方zip文件。 典型的缓存可能看起来像这样:

  1. ├── httpsgithub.comelectronelectronreleasesdownloadv1.7.9electron-v1.7.9-darwin-x64.zip
  2. └── electron-v1.7.9-darwin-x64.zip
  3. ├── httpsgithub.comelectronelectronreleasesdownloadv1.7.9SHASUMS256.txt
  4. └── SHASUMS256.txt
  5. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.1electron-v1.8.1-darwin-x64.zip
  6. └── electron-v1.8.1-darwin-x64.zip
  7. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.1SHASUMS256.txt
  8. └── SHASUMS256.txt
  9. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.2-beta.1electron-v1.8.2-beta.1-darwin-x64.zip
  10. └── electron-v1.8.2-beta.1-darwin-x64.zip
  11. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.2-beta.1SHASUMS256.txt
  12. └── SHASUMS256.txt
  13. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.2-beta.2electron-v1.8.2-beta.2-darwin-x64.zip
  14. └── electron-v1.8.2-beta.2-darwin-x64.zip
  15. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.2-beta.2SHASUMS256.txt
  16. └── SHASUMS256.txt
  17. ├── httpsgithub.comelectronelectronreleasesdownloadv1.8.2-beta.3electron-v1.8.2-beta.3-darwin-x64.zip
  18. └── electron-v1.8.2-beta.3-darwin-x64.zip
  19. └── httpsgithub.comelectronelectronreleasesdownloadv1.8.2-beta.3SHASUMS256.txt
  20. └── SHASUMS256.txt

跳过二进制包下载

Under the hood, Electron’s JavaScript API binds to a binary that contains its implementations. Because this binary is crucial to the function of any Electron app, it is downloaded by default in the postinstall step every time you install electron from the npm registry.

However, if you want to install your project’s dependencies but don’t need to use Electron functionality, you can set the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable to prevent the binary from being downloaded. For instance, this feature can be useful in continuous integration environments when running unit tests that mock out the electron module.

  1. ELECRON_SKIP_BINARY_DOWNOAD=1 npm install

故障排查

在运行 npm install electron 时,有些用户会偶尔遇到安装问题。

在大多数情况下,这些错误都是由网络问题导致,而不是因为 electron npm 包的问题。 如 ELIFECYCLEEAI_AGAINECONNRESETETIMEDOUT 等错误都是此类网络问题的标志。 最佳的解决方法是尝试切换网络,或是稍后再尝试安装。

You can also attempt to download Electron directly from electron/electron/releases if installing via npm is failing.

如果安装失败并报错EACCESS,您可能需要修复npm权限

如果上述报错持续出现,unsafe-perm 标志可能需要被设置为 true:

  1. sudo npm install electron --unsafe-perm=true

在较慢的网络上, 最好使用 --verbose 标志来显示下载进度:

  1. npm install --verbose electron

如果需要强制重新下载文件, 并且 SHASUM 文件将 force_no_cache 环境变量设置为 true