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.

    electron-rebuild problems with MagicMirror 2.22.0

    Scheduled Pinned Locked Moved Solved Troubleshooting
    53 Posts 5 Posters 23.4k Views 6 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.
    • S Do not disturb
      sdetweil @karsten13
      last edited by

      @karsten13 docker is a pita with this stuff. too much/not enough in the container. which is supposed to be immutable.

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • KristjanESPERANTOK Offline
        KristjanESPERANTO Module Developer @sdetweil
        last edited by KristjanESPERANTO

        @sdetweil As a soft step, the broken modules could switch to @electron/rebuild. This should also work for docker.

        wishmaster270W S 2 Replies Last reply Reply Quote 0
        • wishmaster270W Offline
          wishmaster270 Module Developer @KristjanESPERANTO
          last edited by wishmaster270

          @KristjanESPERANTO

          I have a docker installation running for development here on my notebook.
          Everytime a module needs “npm install” I exec to the container and run the command in the container cause there will be called the correct npm and node version in the container and not the ones I currently use on my notebook.
          In this case the directory structure is the same as with a locally installed MagicMirror and the postinstall script will work as excepted.

          karsten13K 1 Reply Last reply Reply Quote 1
          • karsten13K Offline
            karsten13 @wishmaster270
            last edited by karsten13

            @wishmaster270 said in electron-rebuild problems with MagicMirror 2.22.0:

            and the postinstall script will work as excepted.

            yes, will work, but all the changes in the node_modules folder of mm are gone with the next restart of the container …

            wishmaster270W 1 Reply Last reply Reply Quote 0
            • wishmaster270W Offline
              wishmaster270 Module Developer @karsten13
              last edited by

              @karsten13
              In case of electron-rebuild this is no problem as it is only required during compile but not at runtime.

              karsten13K 1 Reply Last reply Reply Quote 0
              • karsten13K Offline
                karsten13 @wishmaster270
                last edited by

                @wishmaster270

                o.k., but where are the compile results stored?

                wishmaster270W 1 Reply Last reply Reply Quote 0
                • wishmaster270W Offline
                  wishmaster270 Module Developer @karsten13
                  last edited by wishmaster270

                  @karsten13
                  They are stored in the node_modules folder of the module which should be persistent

                  Edit: Do not misunderstand me. In my opinion the best way to solve the electron-rebuild problems of a lot of modules would be to put “@electron/rebuild” as a dependency to “package.json” of MagicMirror.

                  karsten13K 2 Replies Last reply Reply Quote 0
                  • karsten13K Offline
                    karsten13 @wishmaster270
                    last edited by

                    @wishmaster270 said in electron-rebuild problems with MagicMirror 2.22.0:

                    @karsten13
                    They are stored in the node_modules folder of the module which should be persistent

                    thats good, so the construction with installing electron-rebuild in mm folder has no side effects and works also in a docker setup.

                    1 Reply Last reply Reply Quote 0
                    • karsten13K Offline
                      karsten13 @wishmaster270
                      last edited by

                      @wishmaster270 said in electron-rebuild problems with MagicMirror 2.22.0:

                      Edit: Do not misunderstand me. In my opinion the best way to solve the electron-rebuild problems of a lot of modules would be to put “@electron/rebuild” as a dependency to “package.json” of MagicMirror.

                      I don’t have a final opinion on that yet, but if so, we should put it under optionalDependencies as electron

                      wishmaster270W S 2 Replies Last reply Reply Quote 1
                      • wishmaster270W Offline
                        wishmaster270 Module Developer @karsten13
                        last edited by

                        @karsten13

                        You are right. I think optionalDependencies would be a great solution. Module developers could then add a hint to run npm ci in the MagicMirror directory to their installations instructions.

                        As the container it self is untouched it should be no problem. It only causes @electron/rebuild to be installed the next time the script is called.

                        S 1 Reply Last reply Reply Quote 0
                        • S Do not disturb
                          sdetweil @KristjanESPERANTO
                          last edited by

                          @KristjanESPERANTO but if u look at electron/rebuild after install u call electron-rebuild

                          still has to be installed in the base node_modules folder…

                          older unmaintained modules are broken either way. why I had to fork MMM-Buttons.

                          Sam

                          How to add modules

                          learning how to use browser developers window for css changes

                          1 Reply Last reply Reply Quote 0
                          • S Do not disturb
                            sdetweil @wishmaster270
                            last edited by

                            @wishmaster270 optional is there so that IF electron is NOT installed, the install does not fail (needed on pi0w at least)
                            have nothing to do w ci

                            my script ONLY installs prod, no dev. as 99.5% of users are users not mm developers. has nothing to do w module developers

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            1 Reply Last reply Reply Quote 0
                            • S Do not disturb
                              sdetweil @karsten13
                              last edited by

                              @karsten13 and the postinstall checks for it being there, and if so skips the e-r install.

                              doesn’t know/care HOW it got installed before

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              karsten13K 1 Reply Last reply Reply Quote 0
                              • karsten13K Offline
                                karsten13 @sdetweil
                                last edited by

                                @sdetweil

                                you can use --omit=optional as param for npm install, I use this for my amd64 images because they are run to 99,9% with npm run server so electron is not needed

                                T 1 Reply Last reply Reply Quote 1
                                • T Offline
                                  thobach @karsten13
                                  last edited by

                                  @karsten13 What are your thoughts on adding npm install @electron/rebuild --unsafe-perm; \ as part of the container image creation process to https://gitlab.com/khassel/magicmirror/-/blob/master/build/Dockerfile-debian?

                                  karsten13K 1 Reply Last reply Reply Quote 0
                                  • karsten13K Offline
                                    karsten13 @thobach
                                    last edited by

                                    @thobach

                                    I’m trying to keep image size small … but which image are you using? latest or fat?

                                    1 Reply Last reply Reply Quote 0

                                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                    With your input, this post could be even better 💗

                                    Register Login
                                    • 1
                                    • 2
                                    • 3
                                    • 2 / 3
                                    • 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