I have installed Node-RED as a IoT edge device module (docker image: nodered/node-red:3.1-debian)
Node-RED is running on the host.
I have installed several modules such as node-red-contrib-s7 v3.1.0 and node-red-dashboard v3.6.2. However, I could not install node-red-contrib-azure-iot-edge-module v1.0.4 from the Node-RED palettes widnow on the browser.
The logs are as follows:
-----------------------------------------------------------
2024-03-07T14:11:28.128Z Install : node-red-contrib-azure-iot-edge-module 1.0.4
2024-03-07T14:11:27.380Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-azure-iot-edge-module@1.0.4
2024-03-07T14:11:29.378Z [err] npm
2024-03-07T14:11:29.379Z [err]
2024-03-07T14:11:29.380Z [err] WARN config production Use `--omit=dev` instead.
2024-03-07T14:11:47.035Z [err] npm
2024-03-07T14:11:47.035Z [err] ERR! code EBADENGINE
2024-03-07T14:11:47.051Z [err] npm ERR! engine Unsupported engine
2024-03-07T14:11:47.051Z [err] npm ERR! engine Not compatible with your version of node/npm: @azure/core-lro@2.6.0
2024-03-07T14:11:47.051Z [err] npm ERR! notsup Not compatible with your version of node/npm: @azure/core-lro@2.6.0
2024-03-07T14:11:47.051Z [err] npm ERR! notsup Required: {"node":">=18.0.0"}
2024-03-07T14:11:47.051Z [err] npm ERR! notsup Actual: {"npm":"8.19.4","node":"v16.20.2"}
2024-03-07T14:11:47.062Z [err]
2024-03-07T14:11:47.063Z [err] npm
2024-03-07T14:11:47.063Z [err] ERR! A complete log of this run can be found in:
2024-03-07T14:11:47.063Z [err] npm ERR! /data/.npm/_logs/2024-03-07T14_11_29_271Z-debug-0.log
2024-03-07T14:11:47.094Z rc=1
I have tried from the bash terminal of the node-red docker container usings the commands:
npm install node-red-contrib-azure-iot-edge-module
npm install -g node-red-contrib-azure-iot-edge-module
I thought that the problem may be in the version of node as the logs say. However, from the bash command terminal I could not update it in the docker container. I do not know if I need to update it if I have installed Node-RED via docker image.
The versions of npm/node and other things:
'node-red-docker': '3.1.5',
npm: '8.19.4',
node: '16.20.2',
v8: '9.4.146.26-node.26',
uv: '1.43.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.19.1',
modules: '93',
nghttp2: '1.47.0',
napi: '8',
llhttp: '6.0.11',
openssl: '1.1.1v+quic',
cldr: '41.0',
icu: '71.1',
tz: '2022f',
unicode: '14.0',
ngtcp2: '0.8.1',
nghttp3: '0.7.0'
It is worth noticing that in the other Node-RED running on another Azure IoT edge device these versions are the same. In the Node-RED, where node-red-contrib-azure-iot-edge-module v1.0.4 can be installed, the version of Node-RED is the same as now 3.1.6 (although was taken from docker image nodered/node-red:latest several (5-7) months ago).
I also noticed that depending on the docker image the packages on the Node-RED may differ. Previously, I have tried docker image nodered/node-red:latest. In this version, node-red-contrib-s7 package s7-in item was different (there was no possibility to enter IP address). Thus I have changed it to nodered/node-red:3.1-debian version.
I thought also the issue may be in Azure as it say logs Not compatible with your version of node/npm: @azure/core-lro@2.6.0. However, I couldn't figure out how to find out it (I have in the other docker containers edgeAgent and edgeHub which enable to send messages to the IoT hub).
I have chatGPTed and googled, no results so far. I thought I may raise the issue here.
Any ideas how to fix the issue?