MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Node.js Compile Version Mis-Matches?

    Scheduled Pinned Locked Moved Troubleshooting
    15 Posts 4 Posters 2.8k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      pillbug22
      last edited by pillbug22

      I’m trying to MMM-MP3Player up and running to play music locally.

      Following the install instructions on GitHub, I added the 3 dependencies listed, then cloned the MMM-MP3Player project down as instructed.

      Now when starting up the MagicMirror, I’m getting the following:

      [2020-06-03 09:44:27.792] [LOG]    Whoops! There was an uncaught exception...
      [2020-06-03 09:44:27.793] [ERROR]  Error: The module '/home/pi/MagicMirror/modules/MMM-MP3Player/node_modules/usb/build/Release/usb_bindings.node'
      was compiled against a different Node.js version using
      NODE_MODULE_VERSION 64. This version of Node.js requires
      NODE_MODULE_VERSION 73. Please try re-compiling or re-installing
      the module (for instance, using `npm rebuild` or `npm install`).
          at process.func (electron/js2c/asar.js:138:31)
          at process.func [as dlopen] (electron/js2c/asar.js:138:31)
          at Object.Module._extensions..node (internal/modules/cjs/loader.js:828:18)
          at Object.func (electron/js2c/asar.js:138:31)
          at Object.func [as .node] (electron/js2c/asar.js:138:31)
          at Module.load (internal/modules/cjs/loader.js:645:32)
          at Function.Module._load (internal/modules/cjs/loader.js:560:12)
          at Module.require (internal/modules/cjs/loader.js:685:19)
          at require (internal/modules/cjs/helpers.js:16:16)
          at bindings (/home/pi/MagicMirror/modules/MMM-MP3Player/node_modules/bindings/bindings.js:112:48)
      

      Based on a similar issue/troubleshooting I found, I have done:

      cd /MagicMirror/modules/MMM-MP3Player
      rm -rf node_modules/usb
      npm cache clear
      rm package-lock.json
      npm i
      

      It does some work to rebuild/install the MMM-MP3Player module again, but I still receive the same error when starting up the MagicMirror next time.

      I then tried the 2nd and 3rd highest proposed solutions on there (electron-rebuild and –update-binary, but wind up with same error each time when trying to launch the MagicMirror.

      I’m guessing there is a different file that needs to be rebuilt, or a way to force using a specific version of Node.js?

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @pillbug22
        last edited by

        @pillbug22 do

        cd ~/MagicMirror
        npm install electron-rebuild
        node_modules/.bin/electron-rebuild
        

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User
          last edited by

          @sdetweil : are you sure of this ?
          install and execute electron rebuild inside main MM core !?

          S 1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @Guest
            last edited by

            @Bugsounet sure, it will find what it needs to rebuild

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • ? Offline
              A Former User
              last edited by

              and scan … ALL modules …

              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @Guest
                last edited by

                @Bugsounet so, it will do it quickly… go get some coffee… everything not done in 2 seconds! lol

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • ? Offline
                  A Former User
                  last edited by A Former User

                  lol

                  so the better thing is that :
                  install electron rebuild inside the module desired (there MMM-MP3Player)

                  cd ~/MagicMirror/modules/MMM-MP3Player
                  npm install electron-rebuild
                  

                  and execute it

                  ./node_modules/.bin/electron-rebuild
                  
                  S 1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @Guest
                    last edited by

                    @Bugsounet better not to install it 12 times , just one in MM, then maybe use in module folder…

                    too many modules need rebuild

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • ? Offline
                      A Former User
                      last edited by

                      I have already tried it but sometimes … it remakes the queue with the other modules and crashes … that’s why I abandoned this method. otherwise on principle i agree with you :)

                      after … like i say : “If it want to works like this … let’s go on !”

                      1 Reply Last reply Reply Quote 0
                      • ? Offline
                        A Former User
                        last edited by A Former User

                        I think MM needs to escape from the dependency of Electron. (Frankly, it is needed only for fullscreen kiosk front, not using any advanced benefits of Electron itself)
                        or at least modules need to use worker-threading or spawning child process which would be independent from Electron process environment to work with node’s native-modules.

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy