The node project changed the environment node_modules to report various errors.

  node.js, question

The node project changed the environment node_modules to report various errors.
Mac runs smoothly locally
Move to Linux and report errors on various node_modules

app-0 (out): at Module._compile (module.js:460:26)
app-0 (out): [Error: /usr/local/nginx/html/jsdir/test/node_modules/node-readability/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node: invalid ELF header]
app-0 (out): Error: /usr/local/nginx/html/jsdir/test/node_modules/node-readability/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node: invalid ELF header
app-0 (out): at Error (native)
app-0 (out): at Module.load (module.js:355:32)
app-0 (out): at Function.Module._load (module.js:310:12)
app-0 (out): at Function.<anonymous> (/usr/local/nodejs/lib/node_modules/pm2/node_modules/pmx/lib/transaction.js:62:21)
app-0 (out): at Module.require (module.js:365:17)
app-0 (out): at require (module.js:384:17)
app-0 (out): at bindings (/usr/local/nginx/html/jsdir/test/node_modules/node-readability/node_modules/jsdom/node_modules/contextify/node_modules/bindings/bindings.js:76:44)
app-0 (out): at Object.<anonymous> (/usr/local/nginx/html/jsdir/test/node_modules/node-readability/node_modules/jsdom/node_modules/contextify/lib/contextify.js:1:96)
app-0 (out): at Module._compile (module.js:460:26)
app-0 (out): at Object.Module._extensions..js (module.js:478:10)
app-0 (out): at Module.load (module.js:355:32)
app-0 (out): at Function.Module._load (module.js:310:12)
app-0 (out): at Function.<anonymous> (/usr/local/nodejs/lib/node_modules/pm2/node_modules/pmx/lib/transaction.js:62:21)
app-0 (out): at Module.require (module.js:365:17)
app-0 (out): at require (module.js:384:17)
app-0 (out): at Object.<anonymous> (/usr/local/nginx/html/jsdir/test/node_modules/node-readability/node_modules/jsdom/lib/jsdom/browser/index.js:14:21)

Relying on the file inside, I can see that some files are ELF files, that is to say, some files are executable programs, not written with js, so this part of programs cannot be suitable for Linux.
Judging from the path, the source code of this part of the program is written by js, but the actual call is the file compiled by js. This is the file that went wrong. Judging from the output error, this is an executable binary file.contextify/build/Release/contextify.node, is under MAC, so linux calls will go wrong. The following error prompt is the call stack, or it is caused by calling this file with the error.
The solution, putnode_moduleDelete, tonpm install(provided that it is written well.)package.json), my feeling is that this module inside will have the function of judging or recompiling binary files, and will generate new binary files under linux. If not, you can only compile this module yourself. It is also possible that it gives this binary file, that is, supports mac. However, judging from its path, this is a compiled file.