All Projects → juliangruber → require-rebuild

juliangruber / require-rebuild

Licence: other
Patch `require()` to recompile a node module if it has been built for a different node version

Programming Languages

javascript
184084 projects - #8 most used programming language

require-rebuild

Patch require() to rebuild a node module if it has been built for a different node version.

Works with electron as well and has been tested on OSX and Windows.

Usage

Once, as the first line of your program, include this line:

require('require-rebuild')();

That's it! Now all further require() calls, no matter how deep in your dependency tree, will make sure a native module has been compiled for the right node version.

To see it in action, install a native module, then switch to a different node version with a different abi, and see how it rebuilds on the fly:

$ node example.js
Recompiling node_modules/bignum
CXX(target) Release/obj.target/bignum/bignum.o
SOLINK_MODULE(target) Release/bignum.node
Done!

General warning

This belongs into application code, not into a lib. Better leave it to a lib's consumer how to build their dependencies.

Build systems

At this moment, those build systems are supported

  • node-gyp
  • prebuild

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].