MagicMirror² v2.5.0 is available! For more information about this release, check out this topic.

npm install - electron fails to install



  • Hello!

    I’ve been trying all day to get this set up, I’ve uninstalled and reinstalled it so many times already.

    I see the same issue in both the automated and manual methods.

    When running npm install, the electron install fails due to a permission denied error:

    > uws@0.14.5 install /root/MagicMirror/node_modules/uws
    > node-gyp rebuild > build_log.txt 2>&1 || exit 0
    
    sh: 1: cannot create build_log.txt: Permission denied
    
    > electron-chromedriver@1.7.1 install /root/MagicMirror/node_modules/spectron/node_modules/electron-chromedriver
    > node ./download-chromedriver.js
    
    /root/MagicMirror/node_modules/spectron/node_modules/electron-chromedriver/download-chromedriver.js:16
      if (error != null) throw error
                         ^
    
    Error: EACCES: permission denied, mkdir '/root/MagicMirror/node_modules/spectron/node_modules/electron-chromedriver/.electron'
    [            ......] - install: info lifecycle electron-chromedriver@1.7.1~install: Failed to exec install script
    

    But this is on a brand new directory created during the install process, so not sure how I can resolve that?

    I’m running this using the pi user (as I saw in another thread that using the ‘root’ user can cause issues)

    Thanks!


  • Moderator

    Your cloned MagicMirror folder resides in /root, but it should be /home/pi

    User pi does not have rights to do much in root folder.

    You are logged in as pi, right?

    Try this please

    cd ~
    git clone https://github.com/MichMich/MagicMirror
    cd ~/MagicMirror
    npm install
    npm start
    


  • Thank you! That worked a treat, and made me feel like a numpty 😛

    Hopefully a final issue to resolve before I’m up and running, the automated script seems to have completed all tasks successfully, but when I run npm start the start script fails, and I see this in the debug logs:

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node', '/usr/local/bin/npm', 'start', 'debug' ]
    2 info using npm@5.7.1
    3 info using node@v9.8.0
    4 verbose run-script [ 'prestart', 'start', 'poststart' ]
    5 info lifecycle magicmirror@2.2.2~prestart: magicmirror@2.2.2
    6 info lifecycle magicmirror@2.2.2~start: magicmirror@2.2.2
    7 verbose lifecycle magicmirror@2.2.2~start: unsafe-perm in lifecycle true
    8 verbose lifecycle magicmirror@2.2.2~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
    9 verbose lifecycle magicmirror@2.2.2~start: CWD: /home/pi/MagicMirror
    10 silly lifecycle magicmirror@2.2.2~start: Args: [ '-c', 'sh run-start.sh "debug"' ]
    11 silly lifecycle magicmirror@2.2.2~start: Returned: code: 1  signal: null
    12 info lifecycle magicmirror@2.2.2~start: Failed to exec start script
    13 verbose stack Error: magicmirror@2.2.2 start: `sh run-start.sh "debug"`
    13 verbose stack Exit status 1
    13 verbose stack     at EventEmitter. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
    13 verbose stack     at EventEmitter.emit (events.js:180:13)
    13 verbose stack     at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
    13 verbose stack     at ChildProcess.emit (events.js:180:13)
    13 verbose stack     at maybeClose (internal/child_process.js:936:16)
    13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
    14 verbose pkgid magicmirror@2.2.2
    15 verbose cwd /home/pi/MagicMirror
    16 verbose Linux 4.9.35-v7+
    17 verbose argv "/usr/bin/node" "/usr/local/bin/npm" "start" "debug"
    18 verbose node v9.8.0
    19 verbose npm  v5.7.1
    20 error code ELIFECYCLE
    21 error errno 1
    22 error magicmirror@2.2.2 start: `sh run-start.sh "debug"`
    22 error Exit status 1
    23 error Failed at the magicmirror@2.2.2 start script.
    23 error This is probably not a problem with npm. There is likely additional logging output above.
    24 verbose exit [ 1, true ]
    

    Is this a common error?


  • Module Developer

    Are you running it through an SSH connection? If so, try running DISPLAY=:0 nohup npm start &
    If that works, I recommend using pm2 to automatically start your mirror. You can find the guide to get pm2 to work with here.



  • Hey Mochman, I get the same error whether running through SSH or on my Pi directly.

    I tested with your command, and the output of the nohup.out file is:

    > magicmirror@2.2.2 start /home/pi/MagicMirror
    > sh run-start.sh
    
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! magicmirror@2.2.2 start: `sh run-start.sh`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the magicmirror@2.2.2 start 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/pi/.npm/_logs/2018-03-11T13_33_02_140Z-debug.log
    

    Thanks!


  • Module Developer

    What’s in that logfile that was created?



  • Hey, this is the content of the log file:

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node', '/usr/local/bin/npm', 'start' ]
    2 info using npm@5.7.1
    3 info using node@v9.8.0
    4 verbose run-script [ 'prestart', 'start', 'poststart' ]
    5 info lifecycle magicmirror@2.2.2~prestart: magicmirror@2.2.2
    6 info lifecycle magicmirror@2.2.2~start: magicmirror@2.2.2
    7 verbose lifecycle magicmirror@2.2.2~start: unsafe-perm in lifecycle true
    8 verbose lifecycle magicmirror@2.2.2~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
    9 verbose lifecycle magicmirror@2.2.2~start: CWD: /home/pi/MagicMirror
    10 silly lifecycle magicmirror@2.2.2~start: Args: [ '-c', 'sh run-start.sh' ]
    11 silly lifecycle magicmirror@2.2.2~start: Returned: code: 1  signal: null
    12 info lifecycle magicmirror@2.2.2~start: Failed to exec start script
    13 verbose stack Error: magicmirror@2.2.2 start: `sh run-start.sh`
    13 verbose stack Exit status 1
    13 verbose stack     at EventEmitter. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
    13 verbose stack     at EventEmitter.emit (events.js:180:13)
    13 verbose stack     at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
    13 verbose stack     at ChildProcess.emit (events.js:180:13)
    13 verbose stack     at maybeClose (internal/child_process.js:936:16)
    13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
    14 verbose pkgid magicmirror@2.2.2
    15 verbose cwd /home/pi/MagicMirror
    16 verbose Linux 4.9.35-v7+
    17 verbose argv "/usr/bin/node" "/usr/local/bin/npm" "start"
    18 verbose node v9.8.0
    19 verbose npm  v5.7.1
    20 error code ELIFECYCLE
    21 error errno 1
    22 error magicmirror@2.2.2 start: `sh run-start.sh`
    22 error Exit status 1
    23 error Failed at the magicmirror@2.2.2 start script.
    23 error This is probably not a problem with npm. There is likely additional logging output above.
    24 verbose exit [ 1, true ]