After updating to node red 4.0.8 I got "ERR_DLOPEN_FAILED"

Hello,
as per subject the nodes of “ncd-io/node-red-enterprise-sensors” are not deployed anymore.

A more detailed description of the error is:

[@ncd-io/node-red-enterprise-sensors/ncd-wireless] Error: Error relocating /config/node_modules/@serialport/bindings/build/Release/bindings.node: _ZN2v89Exception9TypeErrorENS_5LocalINS_6StringEEE: symbol not found

[ncd-red-comm/ncd-comm] Error: Error relocating /config/node_modules/@serialport/bindings/build/Release/bindings.node: _ZN2v89Exception9TypeErrorENS_5LocalINS_6StringEEE: symbol not found

thanks for your help

Luca

Hi Luca,

I’m not sure I’ve seen this after updating just node-red, but after changing nodejs I’ve seen similar issues. Can you try these commands from a new command line:

cd .node-red
npm rebuild
npm install
npm rebuild

if that doesn’t work I would try these commands from a new command line:
cd .node-red
npm uninstall @ncd-io/node-red-enterprise-sensors
npm install @ncd-io/node-red-enterprise-sensors

The serial port library we use requires compilation so if the nodejs version changes a rebuild is required.

Let me know if this resolves the issue or not.

1 Like

Jacob,
sorry for my late reply but I was trying a lot of times and with different approaches what you suggested me but with no success… any other clue?

thx

Luca

If the uninstall and reinstall didn’t work then it may be an issue with the the underlying nodejs setup i.e. permissions on necessary file structures, npm configs, or Python and build tools.

What version of nodejs and npm are you running? What OS is this installed on?

Node Red version is v4.0.9, Node js version is 22.x The OS is Home Assistant.

thanks

Luca P.

I don’t have any experience with Home Assistant. I believe its built on Linux so it should be compatible with the Serial Port library we use.

I didn’t see where you listed an npm version. You can try updating this and seeing if this resolves the issue for the uninstall/reinstall or the rebuild commands. The command is usually:
npm install -g npm@latest

As for the rest Node-Red currently recommends node.js version 20 for node-red version 4.x. You can try downgrading and trying to reinstall the module again.

You can check to see if npm is referencing an older version of nodejs erroneously by running the command:
npm version

then looking for the node property on the response. i.e.
npm version
{
npm: ‘10.8.2’,
node: ‘20.18.1’,
acorn: ‘8.12.1’,
ada: ‘2.9.0’,
ares: ‘1.33.1’,
base64: ‘0.5.2’,
brotli: ‘1.1.0’,
cjs_module_lexer: ‘1.4.1’,
cldr: ‘45.0’,
icu: ‘75.1’,
llhttp: ‘8.1.2’,
modules: ‘115’,
napi: ‘9’,
nghttp2: ‘1.61.0’,
nghttp3: ‘0.7.0’,
ngtcp2: ‘1.1.0’,
openssl: ‘3.0.15+quic’,
simdutf: ‘5.5.0’,
tz: ‘2024b’,
undici: ‘6.20.0’,
unicode: ‘15.1’,
uv: ‘1.46.0’,
uvwasi: ‘0.0.21’,
v8: ‘11.3.244.8-node.23’,
zlib: ‘1.3.0.1-motley-71660e1’
}

is what mine responds with so I know i’m running node version 20.18.1 and v8 engine 11.3.244.8-node.23

Thank you Jacob, give me some days to try it. But if the recommended version is 20 I guess this may probably be the issue…

Jacob,
I tried agaiin but really NodeRed end up in a mess… I will wait for the compatibility of Node >20

thx

Luca