ビルド手順 (Windows)
カスタム Electron バイナリの作成にあたって Windows で Electron そのもの をビルドするには、以下のガイドラインに従ってください。 アプリのコードをビルド済み Electron バイナリにバンドルして頒布する場合は、アプリケーション頒布 のガイドを参照してください。
必要な環境
- Windows 10 / Server 2012 R2 以上
- Visual Studio 2019 (>=16.0.0) でビルドできますが、 Visual Studio 2022 (>=17.0.0) を推奨します - 無料で VS 2022 Community Edition をダウンロード
- 必要な Visual Studio コンポーネントの情報については、Chromium ビルドドキュメント を参照してください。
- Visual Studio がデフォルト以外のディレクトリにインストールされている場合は、いくつかの環境変数を設定してツールチェインがインストールパスを指すようにする必要があります。
vs2022_install = DRIVE:\path\to\Microsoft Visual Studio\2022\Community
、このうち2022
とCommunity
をインストールしたバージョンのものに、DRIVE:
をVisual Studio があるドライブに置き換えます。 大抵、このドライブはC:
です。WINDOWSSDKDIR = DRIVE:\path\to\Windows Kits\10
、このうちDRIVE:
を Windows Kits があるドライブに置き換えます。 大抵、このドライブはC:
です。
- Node.js
- Git
- 完全な頒布物を作成する予定があれば、Windows SDK 10.0.15063.468 の Windows 用デバッグツールで、
.pdb
ファイルからシンボルストアを作成するためにsymstore.exe
を使用します。- 異なるバージョンのSDKを並行してインストールできます。 SDK をインストールするには、Visual Studio Installer を開いて
変更
→個別のコンポーネント
を選択し、スクロールしてインストールする適切な Windows SDK を選択します。 他に、Windows SDK とエミュレータのアーカイブ を見て、SDK のスタンドアロン版をそれぞれダウンロードすることでもできます。 - SDK デバッグツールもインストールする必要があります。 Windows 10 SDK が Visual Studio インストーラーを介してインストールされた場合は、次のようにしてインストールできます。
コントロールパネル
→プログラム
→プログラムと機能
→ "Windows Software Development Kit" を選択 →変更
→変更
→ "Debugging Tools For Windows" にチェック →変更
。 または、スタンドア ロンの SDK インストーラをダウンロードして、それを使ってデバッグツールをインストールすることができます。
- 異なるバージョンのSDKを並行してインストールできます。 SDK をインストールするには、Visual Studio Installer を開いて
現在 Windows インストールを持っていない場合、developer.microsoft.com に Electron をビルドするために使用できる Windows のバージョンがあります。
Electron のビルドは完全にコマンドラインスクリプトで行われ、Visual Studio では実行できません。 任意のエディタで Electron を開発できますが、将来 Visual Studio を使用したビルドがサポートされます。
注釈: Visual Studio はビルドに使用されていませんが、それが提供するビルドツールチェーンが必要なため、まだ 必要 です。
Windows Security からソースのツリーを除外する
Windows Security は Chromium ソースコード内のファイルを良く思わないようで (https://crbug.com/441184 を参照)、常にある特定のファイルを削除してしまい、gclient sync
の問題を引き起こします。 こちらの手順に従う ことで、ソースのツリーを Windows Security の監視 から除外できます。
ビルド
ビルド指示: GNを参照してください。
32ビットビルド
32ビットターゲット用にビルドするには、引数としてtarget_cpu = "x86"
をGNに渡す必要があります。 32ビットターゲットと共に64ビットターゲットをビルドできます。それには別の引数を使って、out/Release-x86
のような別のディレクトリに出力させられます。
$ gn gen out/Release-x86 --args="import(\"//electron/build/args/release.gn\") target_cpu=\"x86\""
他のビルド手順は全く同じです。
Visual Studio プロジェクト
Visual Studio プロジェクトを生成するには、--ide=vs2017
引数をgn gen
に渡します。
$ gn gen out/Testing --ide=vs2017
トラブルシューティング
Command xxxx not found
Command xxxx not found
のようなエラーに遭遇した場合、開発者コマンド プロンプト for VS2015
コンソールを使用してビルドスクリプトを実行してみましょう。
Fatal internal compiler error: C1001
最新の Visual Studio アップデートがインストールされていることを確認してください。
LNK1181: cannot open input file 'kernel32.lib'
32ビット Node.js を再インストールしてください。
Error: ENOENT, stat 'C:\Users\USERNAME\AppData\Roaming\npm'
以下のようにディレクトリを作成すると 問題 は解決するはずです。
$ mkdir ~\AppData\Roaming\npm
node-gyp is not recognized as an internal or external command
ビルドに Git Bash を使用している場合は、代わりに PowerShell または 開発者コマンド プロンプト for VS2015 を使用する必要があります。
cannot create directory at '...': Filename too long
node.jsに長すぎるパス名があるようです。標準では、Windows版のgitは、長いファイル名をきちんと処理できません。 この問題を解決するには以下のようにします:
$ git config --system core.longpaths true
error: use of undeclared identifier 'DefaultDelegateCheckMode'
これは、Windows 用のデバッグツールが Windows Driver Kit とともにインストールされている場合においてビルド中に発生する可能性があります。 Windows Driver Kit をアンインストールし、上記の手順で Debugging Tools をインストールします。
ビルドスクリプトがキーを押さないと止まる
このバグは Windows コマンドプロンプトの「機能」によるものです。 簡易編集モード
を有効にしたプロンプトウィンドウ内をクリックすると発生し、出力テキストを簡単に選択してコピーできるようにすることを目的としています。 誤ってクリックするたびにビルドプロセスが一時停止するため、この機能はコマンドプロンプトのプロパティで無効にできます。