mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
package/nodejs: add patch to adjust default NodeJS search path
By default, NodeJS searches global modules in /usr/lib/node, but NPM installs them in /usr/lib/node_modules/. Therefore by default, if one installs modules with BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL, they are not accessible by NodeJS, unless by passing a NODE_PATH=/usr/lib/node_modules/ variable. Since this is not obvious, and it's nicer when things work out of the box, we simply patch NodeJS to look for modules at the right place. See https://stackoverflow.com/questions/15636367/nodejs-require-a-global-module-package for some discussions on this topic. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Romain Naour <romain.naour@smile.fr> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
committed by
Yann E. MORIN
parent
d6e3d36a85
commit
0de216f95f
@@ -0,0 +1,36 @@
|
|||||||
|
From a31425bdfcb5d695ab25c3d295898326784cffec Mon Sep 17 00:00:00 2001
|
||||||
|
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||||
|
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 <thomas.petazzoni@bootlin.com>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
||||||
Reference in New Issue
Block a user