Read the statement by Michael Teeuw here.
electron-rebuild problems with MagicMirror 2.22.0
-
@karsten13
In case of electron-rebuild this is no problem as it is only required during compile but not at runtime. -
o.k., but where are the compile results stored?
-
@karsten13
They are stored in thenode_modules
folder of the module which should be persistentEdit: 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.
-
@wishmaster270 said in electron-rebuild problems with MagicMirror 2.22.0:
@karsten13
They are stored in thenode_modules
folder of the module which should be persistentthats good, so the construction with installing
electron-rebuild
in mm folder has no side effects and works also in a docker setup. -
@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
aselectron
-
You are right. I think
optionalDependencies
would be a great solution. Module developers could then add a hint to runnpm 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.
-
@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.
-
@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 cimy script ONLY installs prod, no dev. as 99.5% of users are users not mm developers. has nothing to do w module developers
-
@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
-
you can use
--omit=optional
as param fornpm install
, I use this for myamd64
images because they are run to 99,9% withnpm run server
so electron is not needed