electronアプリをビルドした際にめっちゃエラーが出た場合
環境
仮想環境のOS:Ubuntu
Electron 4.0.1
node v8.10.0
状況
環境的には、Reactの中にElectronモジュールを入れて開発みたいな感じです。
package.jsonで、プラットフォームをallにしていたため、たまにmacのアプリだけ生成されたり、何も生成されなかったり、たまたまwin,mac,linux3つとも生成されたりしたりしてしまっています。
以下、エラー内容です。
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] electron-build: `electron-packager build --platform=all --overwrite --asar`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] electron-build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
・
・
・
エラーの原因
エラー文を見た所、package.jsonの中のelectron-packagerあたりが原因であることがわかります。
windows向けのデスクトップアプリを生成するには、「wine」が必要で、allにするとMac向けのアプリは成功しますがwindows向けのアプリを生成する段階で失敗となりエラーがでる。
だから、全てのプラットフォームを指定すると、もしmac向けのアプリから生成が始まればmacだけのアプリが生成するし、windows向けのアプリから生成が始まれば、最初からエラーが出て何も生成されなくなるというわけです。
あぁ、だから、何も生成されない時と一個だけ生成される時があったのか、、、と納得しました。
解決方法
Wineを入れる方法はググれば出てきますが、
今回はやりません。
プラットフォームをMac向けだけに指定します。
次に、package.jsonの中のelectron-packagerのプラットフォーム指定の所をなんとかしました。
なので、私の場合はplatformをallにすると、エラーとなります。
"scripts": {
"electron-build": "electron-packager build --platform=all --overwrite --asar",
},
今回mac向けのアプリを生成したいので、platformの部分をdarwin(mac)と指定しました。
"scripts": {
"electron-build": "electron-packager build --platform=darwin --overwrite --asar",
},
上記の記述なら、platformの部分に任意のプラットフォームを指定します。
なお、「all, darwin, linux, mas, win32」が指定可能です。
おそらく、windowsのアプリを生成するためにwine入れたりlinuxアプリを生成するための環境整えたりしたら、
platformをallにしても問題ないと思います。
感想
Electronすこ
Author And Source
この問題について(electronアプリをビルドした際にめっちゃエラーが出た場合), 我々は、より多くの情報をここで見つけました https://qiita.com/AAA0125/items/146701d313719b351e2e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .