高度なインストール手順
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 で現在のワーキングディレクトリを実行します。 注意としてアプリ内の依存関係がインストールされることはありません。
カスタマイズ
ダウンロードするアーキテクチャを変更したい (例えば ia32
を x64
マシン上にインストールする) 場合、以下のように npm install に --arch
フラグを指定するか、npm_config_arch
環境変数を指定してください。
npm install --arch=ia32 electron
アーキテクチャに加えてプラットフォーム (win32
、linux
など) も変更する場合は、更に --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_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/electron/releases からの直接ダウンロードを試みることもできます。
インストールが EACCESS
エラーで失敗する場合は、npm の権限の修正 が必要かもしれません。
上記のエラーが続く場合は、unsafe-perm フラグを true にする必要があるでしょう。
sudo npm install electron --unsafe-perm=true
速度の遅いネットワークでは、--verbose
を指定してダウンロード進捗を表示することでなにか役に立つ情報が得られるかもしれません。
npm install --verbose electron
強制的に再ダウンロードする必要がある場合は、force_no_cache
環境変数をtrue
に設定してください。