メインコンテンツへ飛ぶ

高度なインストール手順

Electron のビルド済みバイナリをインストールするには、npm を使用します。 アプリの開発用依存関係として Electron をインストールする方法を推奨します。

npm install electron --save-dev

See the Electron versioning doc for info on how to manage Electron versions in your apps.

Electron の臨時実行

もし急用かつローカルプロジェクト内で npm install を使用すべきでない場合は、以下のように npm にバンドルされている npx コマンドランナー を使った Electron の臨時実行もできます。

npx electron .

上記のコマンドは、Electron で現在のワーキングディレクトリを実行します。 注意としてアプリ内の依存関係がインストールされることはありません。

カスタマイズ

ダウンロードするアーキテクチャを変更したい (例えば ia32x64 マシン上にインストールする) 場合、以下のように npm install に --arch フラグを指定するか、npm_config_arch 環境変数を指定してください。

npm install --arch=ia32 electron

アーキテクチャに加えてプラットフォーム (win32linuxなど) も変更する場合は、更に --platformフラグを指定できます。

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_DIRv$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 モジュールをモックアウトした単体テストを実行する際に、この機能が役立ちます。

ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install

トラブルシューティング

npm install electron を実行するとき、インストール時エラーが発生する場合があります。

ほとんどの場合、このエラーはネットワークによるもので、electron の npm パッケージに問題はありません。 ELIFECYCLEEAI_AGAINECONNRESETETIMEDOUT といったエラーは、ネットワーク上の問題を示しています。 最善の解決策は、ネットワークを切り替えるか、少し待ってからもう一度インストールしてることです。

npm を介したインストールに失敗する場合、Electron の electron/electron/releases からの直接ダウンロードを試みることもできます。

インストールが EACCESS エラーで失敗する場合は、npm の権限の修正 が必要かもしれません。

上記のエラーが続く場合は、unsafe-perm フラグを true にする必要があるでしょう。

sudo npm install electron --unsafe-perm=true

速度の遅いネットワークでは、--verboseを指定してダウンロード進捗を表示することでなにか役に立つ情報が得られるかもしれません。

npm install --verbose electron

強制的に再ダウンロードする必要がある場合は、force_no_cache環境変数をtrueに設定してください。