ビルド手順 (Linux)
カスタム Electron バイナリの作成にあたって Linux で Electron そのもの をビルドするには、以下のガイドラインに従ってください。 アプリのコードをビルド済み Electron バイナリにバンドルして頒布する場合は、アプリケーション頒布 のガイドを参照してください。
必要な環境
- 25 GB 以上のディスク空き容量と 8 GB 以上の RAM。
- Python >= 3.7。
- Node.js。 Node はいろいろな方法でインストールできます。 nodejs.org からソースコードをダウンロードしてコンパイルできます。 こうすると、ホームディレクトリに一般ユーザーとして Node をインストールできます。 NodeSource のようなリポジトリもお試しください。
- clang 3.4 以降。
- GTK 3 と libnotify の開発用ヘッダ。
Ubuntu >= 20.04 では、以下のライブラリをインストールしてください。
$ sudo apt-get install build-essential clang libdbus-1-dev libgtk-3-dev \
libnotify-dev libasound2-dev libcap-dev \
libcups2-dev libxtst-dev \
libxss1 libnss3-dev gcc-multilib g++-multilib curl \
gperf bison python3-dbusmock openjdk-8-jre
Ubuntu < 20.04 では、以下のライブラリをインストールしてください。
$ sudo apt-get install build-essential clang libdbus-1-dev libgtk-3-dev \
libnotify-dev libgnome-keyring-dev \
libasound2-dev libcap-dev libcups2-dev libxtst-dev \
libxss1 libnss3-dev gcc-multilib g++-multilib curl \
gperf bison python-dbusmock openjdk-8-jre
RHEL / CentOS では、以下のライブラリをインストールしてください。
$ sudo yum install clang dbus-devel gtk3-devel libnotify-devel \
libgnome-keyring-devel xorg-x11-server-utils libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
nss-devel python-dbusmock openjdk-8-jre
Fedora では、以下のライブラリをインストールしてください。
$ sudo dnf install clang dbus-devel gperf gtk3-devel \
libnotify-devel libgnome-keyring-devel libcap-devel \
cups-devel libXtst-devel alsa-lib-devel libXrandr-devel \
nss-devel python-dbusmock
Arch Linux / Manjaro では、以下のライブラリをインストールしてください。
$ sudo pacman -Syu base-devel clang libdbus gtk2 libnotify \
libgnome-keyring alsa-lib libcap libcups libxtst \
libxss nss gcc-multilib curl gperf bison \
python2 python-dbusmock jdk8-openjdk
その他のディストリビューションも、例えば pacman のようなパッケージマネージャーで同様のパッケージをインストールできるでしょう。 ソースコードからコンパイルする必要があるかもしれません。
クロスコンパイル
arm
ターゲット向けにビルドする場合、以下の依存関係をインストールしてください。
$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross \
g++-arm-linux-gnueabihf
同様に arm64
の場合、以下をインストールしてください。
$ sudo apt-get install libc6-dev-arm64-cross linux-libc-dev-arm64-cross \
g++-aarch64-linux-gnu
そして arm
のようなターゲット向けにクロスコンパイルするには、gn gen
に target_cpu
引数を渡す必要があります。
$ gn gen out/Testing --args='import(...) target_cpu="arm"'
ビルド
ビルド指示: GNを参照してください。
トラブルシューティング
共有ライブラリの読み込みエラー: libtinfo.so.5
プリビルドされた clang
は libtinfo.so.5
へリンクしようとします。 ホストアーキテクチャにしたがって、以下のように適切な libncurses
にシンボリックリンクしてください。
$ sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5
上級者向けトピック
デフォルトのビルド構成は、主要なデスクトップ Linux ディストリビューションを対象としています。 特定のディストリビューションやデバイス向けにビルドするには、以下の情報を参考にしてください。
ダウンロードした clang
バイナリの代わりにシステムの clang
を使用する
デフォルトでは、Electron のビルドは、Chromiumプロジェクトが提供する、プレビルドのclang
バイナリを使用します。 何らかの理由でシステムにインストールされている clang
を使ってビルドしたい場合は、GN の引数に clang_base_path
引数を指定します。
例えば clang
が /usr/local/bin/clang
にインストールされている場合はこのようにします。
$ gn gen out/Testing --args='import("//electron/build/args/testing.gn") clang_base_path = "/usr/local/bin"'
clang
以外のコンパイラを使用する
clang
以外のコンパイラを用いた Electron のビルドはサポートされていません。