Read the statement by Michael Teeuw here.
electron-rebuild problems with MagicMirror 2.22.0
-
@karsten13 docker is a pita with this stuff. too much/not enough in the container. which is supposed to be immutable.
-
@sdetweil As a soft step, the broken modules could switch to @electron/rebuild. This should also work for docker.
-
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. -
@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 … -
@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.