Require and resolve global modules in node.js like a boss.
requireg tries to find modules in global locations which are
not natively supported by the node.js module resolve algorithm.
It supports both npm/yarn global packages installation paths.
Supported locations:
- $HOME/node_modules (instead of $HOME/.node_modules)
 - $HOME/node_libraries (instead of $HOME/.node_libraries)
 - $HOME/node_packages (specific of 
requireg) - $PREFIX/lib/node_modules (instead of $PREFIX/lib/node)
 - $NODE_MODULES (use the specific modules path environment variable)
 
- Resolve via native 
require()(unless second parameter is true) - User home directory (
$HOMEor%USERPROFILE%) - Node installation path
 - $NODE_MODULES (can have different multiple paths, semicolon separated)
 - Common operative system installation paths
 
$ npm install requireg --save[-dev]$ yarn add requiregvar requireg = require('requireg')
// require a globally installed package
var npm = requireg('npm')var requireg = require('requireg')
// require a globally installed package and skip local packages
var eslint = requireg('eslint', true)var modulePath = requireg.resolve('npm')
// returns '/usr/local/lib/node_modules/npm/lib/npm.js'require('requireg').globalize()Now it is globally available from any source file
var globalModule = requireg('npm')requireg maintains the same behavior as the native require().
It will throw an Error exception if the module was not found
- Require global modules in node.js is considered anti-pattern.
Note that you can experiment unreliability or inconsistency across different environments.
I hope you know exactly what you do with 
requireg - Only node packages installed with npm or yarn are supported (which means only standardized NPM paths are supported)
 
- Custom environment variable with custom path to resolve global modules.
 
Released under MIT license

