Couldn't instal node-red-contrib-azure-iot-edge-module v1.0.4 on node-red 3.1.6

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: '',
  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?

Hi @arseny-sandaar

The problem is stated in the error message:

 Required: {"node":">=18.0.0"}

But you are using node 16. This is not about the Node-RED version.

You need to update your node,js version. If you are using docker then you can update the image you are using to one of the ones that include node 18 - see GitHub - node-red/node-red-docker: Repository for all things Node-RED and Docker related for the available tags.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.