Unable to find electron app

2019-09-01 05:09发布

问题:

I'm running through this youtube tutorial on an Ubuntu 17.10 and when I run the build command ng build --prod && electron . the result is:

Error launching app Unable to find Electron app at /home/ole/angular-electron

Cannot find module '/home/ole/angular-electron'

The app compiles fine, just the electron . step that is failing. The package.json contents including the main attribute look like this:

  "name": "angular-electron",
  "version": "0.0.0",
  "license": "MIT",
  "main": "main.js",

I also tried running running the command as indicated in the first answer and this is the result:

    ole@mki:~/angular-electron$ ng build --prod && npm run electron
    Date: 2018-02-03T02:57:31.154Z
    Hash: a2a64f9c18abdabf8e6e
    Time: 25113ms
    chunk {0} polyfills.f20484b2fa4642e0dca8.bundle.js (polyfills) 59.4 kB [initial] [rendered]
    chunk {1} main.34c2037568943aee5abc.bundle.js (main) 152 kB [initial] [rendered]
    chunk {2} styles.9c0ad738f18adc3d19ed.bundle.css (styles) 79 bytes [initial] [rendered]
    chunk {3} inline.ef66fc99c35b976a47ae.bundle.js (inline) 1.45 kB [entry] [rendered]

    > angular-electron@0.0.0 electron /home/ole/Junk/angular-electron
    > electron .

    Error launching app
    Unable to find Electron app at /home/ole/Junk/angular-electron

    Cannot find module '/home/ole/Junk/angular-electron'
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! angular-electron@0.0.0 electron: `electron .`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the angular-electron@0.0.0 electron script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/ole/.npm/_logs/2018-02-03T02_57_32_025Z-debug.log
    ole@mki:~/Junk/angular-electron$ ng build --prod && npm run electron
    Date: 2018-02-03T02:59:37.741Z
    Hash: a2a64f9c18abdabf8e6e
    Time: 25083ms
    chunk {0} polyfills.f20484b2fa4642e0dca8.bundle.js (polyfills) 59.4 kB [initial] [rendered]
    chunk {1} main.34c2037568943aee5abc.bundle.js (main) 152 kB [initial] [rendered]
    chunk {2} styles.9c0ad738f18adc3d19ed.bundle.css (styles) 79 bytes [initial] [rendered]
    chunk {3} inline.ef66fc99c35b976a47ae.bundle.js (inline) 1.45 kB [entry] [rendered]

    > angular-electron@0.0.0 electron /home/ole/Junk/angular-electron
    > electron .

    Error launching app
    Unable to find Electron app at /home/ole/Junk/angular-electron

    Cannot find module '/home/ole/Junk/angular-electron'
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! angular-electron@0.0.0 electron: `electron .`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the angular-electron@0.0.0 electron script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/ole/.npm/_logs/2018-02-03T02_59_38_568Z-debug.log
    ole@mki:~/Junk/angular-electron$ ng build --prod && npm run electron .
    Date: 2018-02-03T03:01:35.087Z
    Hash: a2a64f9c18abdabf8e6e
    Time: 25017ms
    chunk {0} polyfills.f20484b2fa4642e0dca8.bundle.js (polyfills) 59.4 kB [initial] [rendered]
    chunk {1} main.34c2037568943aee5abc.bundle.js (main) 152 kB [initial] [rendered]
    chunk {2} styles.9c0ad738f18adc3d19ed.bundle.css (styles) 79 bytes [initial] [rendered]
    chunk {3} inline.ef66fc99c35b976a47ae.bundle.js (inline) 1.45 kB [entry] [rendered]

    > angular-electron@0.0.0 electron /home/ole/Junk/angular-electron
    > electron . "."

    Error launching app
    Unable to find Electron app at /home/ole/Junk/angular-electron

    Cannot find module '/home/ole/Junk/angular-electron'
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! angular-electron@0.0.0 electron: `electron . "."`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the angular-electron@0.0.0 electron script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/ole/.npm/_logs/2018-02-03T03_01_35_948Z-debug.log

Also tried running the electron command separately with electron .. The result is the same. It complains that it can't find electron. Also tried running it from the node_modules directory like this:

ole@mki:~/angular-electron$ ./node_modules/electron/dist/electron . Error launching app Unable to find Electron app at /home/ole/angular-electron

Cannot find module '/home/ole/angular-electron'

Thoughts?

回答1:

First install electron as a dev dependency like you have done with npm i --save-dev electron. Then setup your build scripts like this:

"electron": "electron",
"electron-build": "ng build --prod && npm run electron"

The reason electron was not running is that it included a . in the electron run script like this `"electron": "electron .".

EDIT:

I believe it should be enough to do:

$ npm run electron

You don't have to edit your package.json. npm will try to find the electron in your node_modules/.bin then it will search in your global dependencies.

Try to avoid installing global npm dependencies. If you are installing a command line tool because your project needs it then always install it locally.



回答2:

If you are using @angular/cli ~1.4.0, make sure main.js and package.json are in same folder.

<root>/src
      index.html
      main.ts
main.js
package.json