0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

electronアプリをビルドした際にめっちゃエラーが出た場合

0
Last updated at Posted at 2019-01-23

環境

仮想環境の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! helloworld@0.1.0 electron-build: `electron-packager build --platform=all --overwrite --asar`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the helloworld@0.1.0 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にすると、エラーとなります。

package.json(エラーが出る方)
  "scripts": {
    "electron-build": "electron-packager build --platform=all --overwrite --asar",
  },

今回mac向けのアプリを生成したいので、platformの部分をdarwin(mac)と指定しました。

package.json(エラーなくなる方)
   "scripts": {
    "electron-build": "electron-packager build --platform=darwin --overwrite --asar",
  },

上記の記述なら、platformの部分に任意のプラットフォームを指定します。
なお、「all, darwin, linux, mas, win32」が指定可能です。

おそらく、windowsのアプリを生成するためにwine入れたりlinuxアプリを生成するための環境整えたりしたら、
platformをallにしても問題ないと思います。

感想

Electronすこ

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?