メインコンテンツへ飛ぶ

ビルド手順 (Linux)

カスタム Electron バイナリの作成にあたって Linux で Electron そのもの をビルドするには、以下のガイドラインに従ってください。 アプリのコードをビルド済み Electron バイナリにバンドルして頒布する場合は、アプリケーション頒布 のガイドを参照してください。

必要な環境

  • 25 GB 以上のディスク空き容量と 8 GB 以上の RAM。

  • Python 2.7.x。 CentOS 6.x のようないくつかのディストリビューションでは Python 2.6.x を採用しています。そのため、python -V で Python のバージョンを確認してください。

    システムと Python が TLS 1.2 以上をサポートしていることを確認してください。 簡単に確認するには、以下のスクリプトを実行します。

    $ npx @electron/チェックパイソン-tls

    このスクリプトが古い設定のセキュリティプロトコルを使用中だと返す場合、システムのパッケージマネージャを使用して Python を 2.7.x ブランチの最新バージョンに更新してください。 もしくは、https://www.python.org/downloads/ を開いて詳しい説明をご覧ください。

  • Node.js。 Node はいろいろな方法でインストールできます。 nodejs.org からソースコードをダウンロードしてコンパイルできます。 こうすると、ホームディレクトリに一般ユーザーとして Node をインストールできます。 NodeSource のようなリポジトリもお試しください。

  • clang 3.4 以降。

  • GTK 3 と libnotify の開発用ヘッダ。

Ubuntu では、以下のライブラリをインストールしてください。

$ 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 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

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

そして armia32 ターゲット向けにクロスコンパイルするには、gn gentarget_cpu 引数を渡す必要があります。

$ gn gen out/Testing --args='import(...) target_cpu="arm"'

ビルド

ビルド指示: GNを参照してください。

トラブルシューティング

共有ライブラリの読み込みエラー: libtinfo.so.5

プリビルドされた clanglibtinfo.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 のビルドはサポートされていません。