Skip to content

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

Notifications You must be signed in to change notification settings

2021119/require-rebuild

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%