NPM restart issue



  • Hi, i’ve had Magic Mirror up and running for a few days now and all was fine.

    I added new module and now when i run NPM restart i get the following

    > magicmirror@2.0.0 start /home/pi/MagicMirror
    > electron js/electron.js
    npm ERR! Linux 4.4.14-v7+
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "restart"
    npm ERR! node v6.3.0
    npm ERR! npm  v3.10.3
    npm ERR! code ELIFECYCLE
    npm ERR! magicmirror@2.0.0 start: `electron js/electron.js`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the magicmirror@2.0.0 start script 'electron js/electron.js'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the magicmirror package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     electron js/electron.js
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs magicmirror
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls magicmirror
    npm ERR! There is likely additional logging output above.
    npm ERR! Please include the following file with any support request:
    npm ERR!     /home/pi/MagicMirror/npm-debug.log
    
    **Sorry can't work out how to get it out of inline**
    I google this error and noticed that something similar was posted which referred to an Electron Quick start which i also ran which generate a similar error.
    
    heres the content of my nam-debug.log any thoughts?
    
    
    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'restart' ]
    2 info using npm@3.10.3
    3 info using node@v6.3.0
    4 verbose run-script [ 'prerestart',
    4 verbose run-script   'prestop',
    4 verbose run-script   'stop',
    4 verbose run-script   'poststop',
    4 verbose run-script   'restart',
    4 verbose run-script   'prestart',
    4 verbose run-script   'start',
    4 verbose run-script   'poststart',
    4 verbose run-script   'postrestart' ]
    5 info lifecycle magicmirror@2.0.0~prerestart: magicmirror@2.0.0
    6 silly lifecycle magicmirror@2.0.0~prerestart: no script for prerestart, continuing
    7 info lifecycle magicmirror@2.0.0~prestop: magicmirror@2.0.0
    8 silly lifecycle magicmirror@2.0.0~prestop: no script for prestop, continuing
    9 info lifecycle magicmirror@2.0.0~stop: magicmirror@2.0.0
    10 silly lifecycle magicmirror@2.0.0~stop: no script for stop, continuing
    11 info lifecycle magicmirror@2.0.0~poststop: magicmirror@2.0.0
    12 silly lifecycle magicmirror@2.0.0~poststop: no script for poststop, continuing
    13 info lifecycle magicmirror@2.0.0~restart: magicmirror@2.0.0
    14 silly lifecycle magicmirror@2.0.0~restart: no script for restart, continuing
    15 info lifecycle magicmirror@2.0.0~prestart: magicmirror@2.0.0
    16 silly lifecycle magicmirror@2.0.0~prestart: no script for prestart, continuing
    17 info lifecycle magicmirror@2.0.0~start: magicmirror@2.0.0
    18 verbose lifecycle magicmirror@2.0.0~start: unsafe-perm in lifecycle true
    19 verbose lifecycle magicmirror@2.0.0~start: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
    20 verbose lifecycle magicmirror@2.0.0~start: CWD: /home/pi/MagicMirror
    21 silly lifecycle magicmirror@2.0.0~start: Args: [ '-c', 'electron js/electron.js' ]
    22 silly lifecycle magicmirror@2.0.0~start: Returned: code: 1  signal: null
    23 info lifecycle magicmirror@2.0.0~start: Failed to exec start script
    24 verbose stack Error: magicmirror@2.0.0 start: `electron js/electron.js`
    24 verbose stack Exit status 1
    24 verbose stack     at EventEmitter. (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:242:16)
    24 verbose stack     at emitTwo (events.js:106:13)
    24 verbose stack     at EventEmitter.emit (events.js:191:7)
    24 verbose stack     at ChildProcess. (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
    24 verbose stack     at emitTwo (events.js:106:13)
    24 verbose stack     at ChildProcess.emit (events.js:191:7)
    24 verbose stack     at maybeClose (internal/child_process.js:852:16)
    24 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
    25 verbose pkgid magicmirror@2.0.0
    26 verbose cwd /home/pi/MagicMirror/config
    27 error Linux 4.4.14-v7+
    28 error argv "/usr/bin/nodejs" "/usr/bin/npm" "restart"
    29 error node v6.3.0
    30 error npm  v3.10.3
    31 error code ELIFECYCLE
    32 error magicmirror@2.0.0 start: `electron js/electron.js`
    32 error Exit status 1
    33 error Failed at the magicmirror@2.0.0 start script 'electron js/electron.js'.
    33 error Make sure you have the latest version of node.js and npm installed.
    33 error If you do, this is most likely a problem with the magicmirror package,
    33 error not with npm itself.
    33 error Tell the author that this fails on your system:
    33 error     electron js/electron.js
    33 error You can get information on how to open an issue for this project with:
    33 error     npm bugs magicmirror
    33 error Or if that isn't available, you can get their info via:
    33 error     npm owner ls magicmirror
    33 error There is likely additional logging output above.
    34 verbose exit [ 1, true ]

  • Moderator

    Does it work if you remove the module you recently added? If so, it’s not an npm nor electron problem. It’s the module, probably a bad configuration, either in the module settings, or in your config.js.



  • i don’t think it did, fortunately i backed up my RPI before i add the module so i’ll try a fresh install and see if that works.

    I was adding back in the compliments module so i could put a happy birthday message on so had change the narrative in the compliments module.



  • OK so after a fresh install all seemed to work, i’ve just tried to log in via SSH from outside my network, and so i could see the mirror ran the server only mode command and it churns out this.

    pi@Mirror:~/MagicMirror $ node serveronly
    Loading config ...
    WARNING! Could not find config. Please create one.
    Loading module helpers ...
    No helper found for module: helloworld.
    All module helpers loaded.
    Starting server op port 8080 ... 
    Server started ...
    Sockets connected & modules started ...
    
    Ready to go! Please point your browser to: http://localhost:8080
    Whoops! There was an uncaught exception...
    { Error: listen EADDRINUSE 
    :::
    8080
        at Object.exports._errnoException (util.js:1008:11)
        at exports._exceptionWithHostPort (util.js:1031:20)
        at Server._listen2 (net.js:1253:14)
        at listen (net.js:1289:10)
        at Server.listen (net.js:1385:5)
        at new Server (/home/pi/MagicMirror/js/server.js:17:9)
        at /home/pi/MagicMirror/js/app.js:121:17
        at loadConfig (/home/pi/MagicMirror/js/app.js:45:4)
        at start (/home/pi/MagicMirror/js/app.js:107:3)
        at Object. (/home/pi/MagicMirror/serveronly/index.js:2:5)
      code: 'EADDRINUSE',
      errno: 'EADDRINUSE',
      syscall: 'listen',
      address: '::',
      port: 8080 }
    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
    

    So could it be the act of running the Server only mode that causes the issue? as now i get all the same errors listed above when i try to run pm restart?

    Just as a side note that despite getting the error it still let me log onto the mirror through safari on :8080


  • Moderator

    @mikmonken said in NPM restart issue:

    pi@Mirror:~/MagicMirror $ node serveronly
    Loading config …
    WARNING! Could not find config. Please create one.

    That right there should be your clue … You have an error in your 'config.js'.



  • this is where i’m out of my depth then, does the fact that the mirror boots fine on RPI start up not mean that the config.js is OK?

    I’m guessing not, but is there an easy way to debug? usually if the config.js file is wrong (say i get a comma out of place) then mirror just boots onto the default you’ve got a problem with the config.js screen check you have one page, which doesn’t happen with this error?


  • Moderator

    Actually, you can’t run both the default startup of the mirror, AND a serveronly. Once the mirror is up and running, just open a browser from wherever you are and load up the rpi’s address with the configured port. I believe you said that’s :8080. I guess I don’t understand why you are trying to also run serveronly …



  • Arrrr that’s Because I didn’t realise you could access Mirror through the browser without a running. And I hadn’t thought to test it out.

    So I’m basically providing two conflicting commands that’s causing the error then. (In its most basic of explanations)

    Thanks for your answers though. Do you ever sleep?


  • Moderator

    Sleep? Is there a definition for that? :)

    To note: the npm process starts up Electron in kiosk mode on the rpi. Electron is simply a browser, which then loads the localhost address to MM². So if you know your rpi’s address on your network, you can load it up anywhere through a browser.

    In case you haven’t seen it, I posted how my (development) setup is, and it hints at doing just that with a remote browser:
    https://forum.magicmirror.builders/topic/265/my-setup-or-how-crazy-i-am


Log in to reply
 

Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.