electron-builder を使って Electron アプリケーションをビルドする方法を説明しています。 アプリケーションをビルドすると、ダブルクリックで起動する、 アイコンの付いた実行ファイルが作れます。
Linux については、Ubuntu、Fedora、CentOS、Mint で正常動作しますが、 Debian では動作しません。
前章で electron-builder をインストールしていなかった場合は、 コマンドプロンプトもしくはターミナルを起動して、Hello ディレクトリに移動して、 次のようにコマンドします。必ず Hello ディレクトに移動してから行ってください。
npm i -D electron-builder
PNG形式のアイコンを自作するか、 次のサイトなどから PNG 形式のアイコンをダウンロードします。 大きさは 512px などの一番大きなものが良いでしょう。
自作した、もしくはダウンロードした PNG ファイルを Hello ディレクトリに入れます。
Electron は、PNG 形式のアイコンを、そ れぞれの OS に適した形式に自動的に変換してくれます。
package.json を次のように変更します。
// 変更前
{
"name": "Hello",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "electron ."
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"electron": "^13.1.4",
"electron-builder": "^22.11.7"
}
}
// 変更後
{
"name": "Hello",
"version": "1.0.0",
"description": "Hello",
"main": "index.js",
"scripts": {
"start": "electron ."
},
"keywords": [],
"author": "viva Cocoa",
"build": {
"win": {
"target": "nsis",
"icon": "clover.png"
},
"mac": {
"target": "dmg",
"icon": "clover.png"
},
"linux": {
"target": "AppImage",
"icon": "clover.png"
}
},
"license": "ISC",
"devDependencies": {
"electron": "^13.1.4",
"electron-builder": "^22.11.7"
}
}
・・・
"author": "viva Cocoa",
"build": {
"win": {
"target": "nsis",
"icon": "clover.png"
}
},
"license": "ISC",
・・・
コマンドプロンプトもしくはターミナルを起動して、 それぞれの OS 上で次のようにコマンドします。
// Windows 32bit の場合
npx electron-builder --win --ia32
// Windows 64bit の場合
npx electron-builder --win --x64
// macOS の場合
npx electron-builder --mac --x64
// Linux の場合
npx electron-builder --linux --x64
// はじめのコマンドは npm ではなく、npx です。注意してください。
// なお、macOS の場合、次のようにコマンドして、一度にすべてのプラットフォームのインストーラを作成することもできます。
npx electron-builder -wml
作成された dist ディレクトリの中の Hello Setup 1.0.0.exe をダブルクリックすると インストーラが起動します。
このインストーラでインストールした Hello アプリケーションは、 コントロールパネルのプログラムのアンインストールで、 安全にアンインストールすることもできます。
dist ディレクトの中の win-ia32-unpacked もしくは win-x64-unpacked の中の Hello.exe をダブルクリックしても Hello アプリケーションは起動しますが、 この実行ファイルを他の場所へ移動させた場合は、DLL エラーで起動できません。
作成された dist ディレクトリの Hello-1.0.0.dmg をダブルクリックして、 インストーラを起動します。インストール方法は通常どおりです。
また、dist ディレクトリの中の mac ディレクトリの中に作成された実行ファイルをそのまま使うこともできます。
この実行ファイルは、Windows の場合と違って、どこへ移動させても正常に動作します。
Linux の場合は、ビルドし他だけではアプリケーションにアイコンは付きません。 アイコンを付けるには別の作業が必要になります。ただし、package.json にアイコンを指定しておかないとビルド時にエラーになります。
作成された dist ディレクトの Hello-1.0.0.AppImage はどこへ移動させても起動できます。ただし名前を変更すると起動できなくなります。
dist ディレクトリの中の linux-unpacked の中の hello 実行ファイルは ダブルクリックしても起動しません。ターミナルで ./hello とコマンドすると起動できます。
次の場所にHello-1.0.0.AppImage とアイコンファイルを移動もしくはコピーします。
/home/ユーザー名/.local/share/applications
applications ディレクトリに次の hello.desktop ファイルを作成します。
[Desktop Entry]
Type=Application
Version=1.0
Name=Hello
Exec=/home/ユーザー名/.local/share/applications/Hello-1.0.0.AppImage
Icon=/home/ユーザー名/.local/share/applications/clover.png
Comment=I am Hello
Categories=
desktop-file-validate hello.desktop
上記の方法は、ユーザ専用に Hello アプリケーションを登録する方法です。 システム全体 (全ユーザが使えるよう) に登録する場合は次のようにします。 ユーザ専用とシステム全体の両方がある場合は、ユーザ専用が優先されます。
/usr/bin
/usr/share/icons/hicolor/scalable/apps
/usr/share/applications
そして、hello.desktop は、次のように記述します。
[Desktop Entry]
Type=Application
Version=1.0
Name=Hello
Exec=Hello-1.0.0.AppImage
Icon=clover.png
Comment=I am Hello
Categories=
/usr/bin
と
/usr/share/icons/hicolor/scalable/apps
には、システムによってパスが通っていますので、ファイル名だけで OK です。