LoginSignup
2
2

More than 3 years have passed since last update.

今更Electron環境構築めも

Last updated at Posted at 2019-04-16

今更Electron

マルチプラットフォームなら使える!と思って勉強する。

前提

nodeJsインストール済。

インストール

mkdir electron-test && cd $_
npm init -y

# --save-dev オプションが何を意味するかわからんけど、これじゃないとダメ
#npm install electron-prebuilt --save-dev ← 1.4.13
npm install -D electron@latest --save-dev ← 5.0.0(最新)
または(yarn導入してたら)
yarn add -D electron@latest --save-dev ← 5.0.0(最新)

# 実行はこれ。よくわかんないけど
./node_modules/electron/cli.js

・リンク張っておく
ln -s ./node_modules/electron/cli.js electron

※electron v5.0.0でなんかバグ?
---
FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now.
---
ってでる。

sudo chown root node_modules/electron/dist/chrome-sandbox
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
ってやるといい。
electron-packagerインストール
### install electron-packager.
sudo npm i electron-packager -g

## なんかwin32なアプリの為には、wine32が必要らしい.
https://github.com/electron-userland/electron-packager/issues/654

## ↓の通りにwineをbuild & installする (かなり時間かかるよ)
https://ameblo.jp/kousakusya/entry-12333298836.html
asar実行
# asar pack {アプリケーションディレクトリ} {出力ファイル名}.asar
asar pack ./sample ./sample.asar
electron-packager実行
### make package.
electron-packager ./sample sample --platform=win32 --arch=x64 --electronVersion=5.0.0 --asar.unpack **/img/** --asar

・区分値
platform (all, linux, win32, darwin)
arch (all, ia32, x64)
electronVersion (Electron version)
NSIS
Windowsインストーラとして、NSISを使う。
面倒だからWindows側にいれて、そこからインストーラ作成。
https://sourceforge.net/projects/nsis/files/NSIS%203/3.04/nsis-3.04-setup.exe/download?use_mirror=jaist&download=
から
nsis-3.04-setup.exe
をgetしてインストール。
あとは、適当に"hoge.nsi"みたいなの作って
右クリックコンパイル。
細かい設定は割愛。

結論

まだわからんけど、Windows用バイナリはwine頼りってことはわかった。
electron-packagerがx64を非サポートで、wine32は、ソースからビルドするしかなく、buildで異様に時間がかかる。

後、自分の環境(CentOS7.6 + GNome)だと、ウィンドウの透明化はできなかった。
Windowsなら簡単にできた。

※未解決事項
・Windowsバイナリのアイコン指定ができない!

# なんでかわからないけど
rcedit.exe failed with exit code 1. Reserved header is not 0 or image type is not icon for 'i'
Fatal error: Unable to set icon
# がでて、electron-packagerのbuildに失敗する。
# electron-builderはよくわからないけどエラーがでる為、両方諦めた。
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2