From a31425bdfcb5d695ab25c3d295898326784cffec Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 25 Sep 2022 11:10:06 +0200 Subject: [PATCH] lib/internal/modules/cjs/loader.js: adjust default path to search modules NPM installs modules in /usr/lib/node_modules/, but by default NodeJS searches for them only in /usr/lib/node/. We could also set the NODE_PATH environment variable, but it is more convienient to have NodeJS configured by default to find modules where they are installed. This issue is discussed at https://stackoverflow.com/questions/15636367/nodejs-require-a-global-module-package. Signed-off-by: Thomas Petazzoni --- lib/internal/modules/cjs/loader.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index f1971c40a4..5fe3884156 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -1261,7 +1261,8 @@ Module._initPaths = function() { path.resolve(process.execPath, '..') : path.resolve(process.execPath, '..', '..'); - const paths = [path.resolve(prefixDir, 'lib', 'node')]; + const paths = [path.resolve(prefixDir, 'lib', 'node'), + path.resolve(prefixDir, 'lib', 'node_modules')]; if (homeDir) { ArrayPrototypeUnshift(paths, path.resolve(homeDir, '.node_libraries')); -- 2.37.3