WSL(Windows Subsystem for Linux)でelectron開発をやろうとは思うな!


一人で勝手にドはまりしていたので同じ人が減るように書き残しておきます、、、

結論

素直にWindows版のNode.jsをインストールしてelectronを動かしましょう。パッケージングもちゃんと動きます。

格闘の経緯

最初はちゃんとコマンドメモってましたが、途中から省略してます、、。

・純正のnpmをインストールする

sudo apt-get install nodejs npm

・nをインストール

sudo npm install -g n

・nodeのltsをインストール

sudo n lts

・npmの最新化

sudo npm install -g npm

・もとのnodejsを消す

sudo apt-get purge nodejs npm
sudo apt-get autoremove

・Node.js のバージョンを確認

node -v

・npmバージョン確認

npm -v

・Xwindowを立ち上げられるようにする(20分)
http://estuarine.jp/2017/11/wsl-x-window/
具体的にはVcXsrvというXサーバーのインストールと設定

・/mnt/c 以下のちょうどいいディレクトリに作業フォルダを作る

・electronをローカルインストール

・実行、しようとするとlibgtk2.0-0から始まりパッケージがもろもろ無いと言われ続けるので耐えながらインストールを続ける(30分)

・何とか動くようになる
Hello worldは何とか起動。

・パッケージしようとして elecron-packager でWindows版のパッケージを作ろうとするとwineが必要と言われる、、

・WSLでwineのパッケージを入れられない!(60分)
↑パッと原因分からなかったのでここで止めました。

ぼやき

これ要は、せっかくのマルチプラットフォーム開発なのに
・仮想マシン(WSL)上で違うOSを動かし
・仮想マシンからの画面をXserverで無理やり受け取り
・さらにその環境でビルドしようとしてWindowsに戻すためにエミュレータを動かす
みたいな本末転倒を一周してますね、、。今日はストロングゼロを飲もう。