# Unsupported engine

**URL:** <https://discourse.nodered.org/t/unsupported-engine/88759>\
**Category:** General\
**Created:** [17 June 2024 12:57 UTC](https://discourse.nodered.org/t/unsupported-engine/88759 "2024-06-17T12:57:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [17 June 2024 12:57 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/1 "2024-06-17T12:57:09Z")

</div>

Using NodeRed 3.x.x up to 3.1.10, NodeJS 20, Windows and Ubuntu, I receive this warning when I try to upgrade nodes :

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/a/2ad9eb743c603b1ee831f99e82d73f9da69d19f1.png)

Is not a **node-red-node-email** error, this is for almost (maybe) all nodes. I think, this error is related to **node-red-contrib-mssql-plus**

Another case, using NodeJS 16.20.2. If I try to upgrade email node from NodeRed  
I got error:

```auto
2024-06-17T12:49:00.134Z Install : node-red-node-email 3.0.0
2024-06-17T12:49:00.578Z npm.cmd install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-node-email@3.0.0
2024-06-17T12:49:01.701Z [err] npm
2024-06-17T12:49:01.702Z [err] WARN config production Use `--omit=dev` instead.
2024-06-17T12:49:03.552Z [err] npm
2024-06-17T12:49:03.552Z [err] ERR! code EBADENGINE
2024-06-17T12:49:03.554Z [err] npm ERR! engine
2024-06-17T12:49:03.554Z [err] Unsupported engine
2024-06-17T12:49:03.554Z [err] npm ERR!
2024-06-17T12:49:03.554Z [err] engine Not compatible with your version of node/npm: node-red-node-email@3.0.0
2024-06-17T12:49:03.554Z [err] npm ERR! notsup Not compatible with your version of node/npm: node-red-node-email@3.0.0
2024-06-17T12:49:03.554Z [err] npm ERR! notsup
2024-06-17T12:49:03.554Z [err] Required: {"node":">=18.0.0"}
2024-06-17T12:49:03.554Z [err] npm ERR! notsup Actual: {"npm":"9.6.6","node":"v16.20.2"}

```

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [17 June 2024 13:53 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/2 "2024-06-17T13:53:32Z")

</div>

Try downgrading nodejs to 18.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [17 June 2024 14:56 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/3 "2024-06-17T14:56:18Z")

</div>

> [@softy2k](#):
>
> this is for almost (maybe) all nodes. I think, this error is related to **node-red-contrib-mssql-plus**

I think not. The clue is in the error. In future please post logs as text rather than a screenshot, that would have enabled me to quote the important line.  
The third line tells you that the azure package does not like nodejs 20. You should file an issue on the node's github page.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [17 June 2024 14:59 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/4 "2024-06-17T14:59:36Z")

</div>

This is already reported against the mssql-plus module: [Not supporting NodeJS v20.14.0 LTS · Issue #97 · bestlong/node-red-contrib-mssql-plus · GitHub](https://github.com/bestlong/node-red-contrib-mssql-plus/issues/97)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [17 June 2024 15:06 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/5 "2024-06-17T15:06:22Z")

</div>

Oh, I see that the @azure package is used by mssql-plus, so I stand corrected.

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [17 June 2024 17:39 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/6 "2024-06-17T17:39:37Z")

</div>

I have reported various problems, unfortunately without an answer, after many months. There are probably other priorities...

> <https://github.com/node-red/node-red-nodes/issues/1029>
>
> I updated from \*\*NodeJS 18\*\* to \*\*NodeJs 20\*\*, and when I try to update \*\*email …node\*\* from \*\*2.0.0\*\* to \*\*2.0.1\*\* I get the following error:
> 
> 
> \`\`\`
> npm WARN config production Use \`--omit=dev\` instead.
> npm ERROR! code EBADENGINE
> npm ERROR! engine Unsupported engine
> npm ERROR! engine Not compatible with your version of node/npm: @azure/msal-node@1.17.2
> npm ERROR! notsup Not compatible with your version of node/npm: @azure/msal-node@1.17.2
> npm ERROR! notsup Required: {"node":"10 || 12 || 14 || 16 || 18"}
> npm ERROR! notsup Current: {"npm":"10.1.0","node":"v20.6.1"}
> \`\`\`

> <https://github.com/bestlong/node-red-contrib-mssql-plus/issues/94>
>
> About 5 years ago I created a flow with various nodes, including some nodes with… SQL.
> Over time, I updated nodeJS, Node-Red etc.
> 
> \*\*Most of the SQL nodes are unchanged in the editor (about 5 years old).\*\*
> Now, if I want to edit any old SQL node, I get the error:
> \`\`\`
> The workspace contains some nodes that are not properly configured:
> \[Home\] Test (MSSQL)
> Are you sure you want to deploy?
> \`\`\`
> 
> !\[NodeError\](https://github.com/bestlong/node-red-contrib-mssql-plus/assets/37790195/82dbd5aa-a7a0-40fb-9647-bd942fc84d6b)
> 
> So, it is enough just to edit a SQL node (\*\*Edit MSSQL node\*\*), click randomly in the open editing window) even without changing anything, and then when I press the \*\*Done\*\* button I receive the message \`The workspace contains some nodes that is not properly configured\`.
> 
> The machine on which the flow runs:
> \- NodeRed 3.1.5
> \- NodeJS 18.19.1
> \- node-red-contrib-mssql-plus 0.12.2
> \- Windows Server x64 (same issue on Ubuntu)
> 
> 
> The SQL node runs without problems, only this disturbing message appears. And if I refresh the page in the browser, the error message disappears, but reappears if I try to edit the respective SQL node again. Most likely this bug is quite old.
> 
> I am also attaching a sample of the exported node: \[OldSqlNode.json\](https://github.com/bestlong/node-red-contrib-mssql-plus/files/14369992/OldSqlNode.json)

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [17 June 2024 19:28 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/7 "2024-06-17T19:28:21Z")

</div>

@softy2k

The warnings you are seeing are probably due to a combination of order of events + timing (there was a period where MSSQL (child dependency) and tedious (great grandchild dependency) supported Node 20 but a great-great-great-grandchild azure dependency did not (or something along those lines)

mssql-plus is fully functional on node 20 and has been for some time. I am not on a computer so cant easily hunt down the issues or start digging etc, but it is there somewhere (Im sure 🤔)

You probably just need to remove/re-install the node so that the sub dependencies are updated according to semver rules.

what does `npm list @azure/msal-node` show?

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [17 June 2024 21:43 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/8 "2024-06-17T21:43:52Z")

</div>

**Raspberry PI** :

```auto
pi@raspberrypi:~/.node-red $ npm list @azure/msal-node
node-red-project@0.0.1 /home/pi/.node-red
└─┬ node-red-contrib-mssql-plus@0.12.2
  └─┬ mssql@10.0.2
    └─┬ tedious@16.7.1
      └─┬ @azure/identity@3.4.2
        └── @azure/msal-node@2.8.1

```

**Windows Server and Ubuntu:**

```auto
C:\Administrator\.node-red>npm list @azure/msal-node
node-red-project@0.0.1 C:\Administrator\.node-red
`-- node-red-contrib-mssql-plus@0.12.2
  `-- mssql@10.0.1
    `-- tedious@16.4.0
      `-- @azure/identity@2.1.0
        `-- @azure/msal-node@1.18.3

```

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [17 June 2024 21:52 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/9 "2024-06-17T21:52:07Z")

</div>

Another Ubuntu (Oracle) :

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/1/4165e7c50c910388ce63a2ca20c9149e7f9a0daa.png)

And error:

```auto
2024-06-17T21:48:12.539Z Install : node-red-node-email 3.0.0
2024-06-17T21:48:13.230Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-node-email@3.0.0
2024-06-17T21:48:13.739Z [err] npm warn config production Use `--omit=dev` instead.
2024-06-17T21:48:16.637Z [err] npm error code EBADENGINE
2024-06-17T21:48:16.637Z [err] npm error engine Unsupported engine
2024-06-17T21:48:16.637Z [err] npm error engine Not compatible with your version of node/npm: @azure/msal-node@1.18.3
2024-06-17T21:48:16.637Z [err] npm error notsup Not compatible with your version of node/npm: @azure/msal-node@1.18.3
2024-06-17T21:48:16.637Z [err] npm error notsup Required: {"node":"10 || 12 || 14 || 16 || 18"}
2024-06-17T21:48:16.637Z [err] npm error notsup Actual: {"npm":"10.8.1","node":"v20.14.0"}
2024-06-17T21:48:16.640Z [err] npm error A complete log of this run can be found in: /home/ubuntu/.npm/_logs/2024-06-17T21_48_13_549Z-debug-0.log
2024-06-17T21:48:16.651Z rc=1

```

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [17 June 2024 22:35 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/10 "2024-06-17T22:35:42Z")

</div>

Could you, in this order, run:

1. `npm remove node-red-contrib-mssql-plus`
2. `npm list @azure/msal-node`
3. `npm install node-red-contrib-mssql-plus@latest`
4. `npm list @azure/msal-node`

And show me what you see?

_(Obviously not necessary on the raspberry pi as that has the up to date Azure dependency)_

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [18 June 2024 05:25 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/11 "2024-06-18T05:25:55Z")

</div>

After remove:

```auto
D:\NodeRed\> npm list @azure/msal-node
NodeRed@0.0.1 D:\NodeRed\
`-- (empty)

```

After reinstall:

```auto
D:\NodeRed\> npm list @azure/msal-node
NodeRed@0.0.1 D:\NodeRed\
`-- node-red-contrib-mssql-plus@0.12.2
  `-- mssql@10.0.2
    `-- tedious@16.7.1
      `-- @azure/identity@3.4.2
        `-- @azure/msal-node@2.9.2

```

No error on installing email node after updates. In the evening, I also test on the other servers (I can't stop the servers now)

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [18 June 2024 06:28 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/12 "2024-06-18T06:28:10Z")

</div>

Is working on Ubuntu (Oracle), no errors.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [18 June 2024 07:59 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/13 "2024-06-18T07:59:20Z")

</div>

Would `npm outdated` and `npm update` have corrected this issue?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [18 June 2024 08:09 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/14 "2024-06-18T08:09:12Z")

</div>

Possibly, but not sure. Mostly I wanted to see the before and after.

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [18 June 2024 08:22 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/15 "2024-06-18T08:22:57Z")

</div>

**npm outdated** it doesn't show anything about **msal-node**  
**npm update** has the same result as **npm install node-red-contrib-mssql-plus@latest** (at least in my case)

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [18 June 2024 08:36 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/16 "2024-06-18T08:36:38Z")

</div>

> [@softy2k](#):
>
> **npm outdated** it doesn't show anything about **msal-node**

Have you still got a failing system that you ran this on? I would have expected `outdated` to say that mssql could be updated from 10.0.1 to 10.0.2

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [18 June 2024 08:40 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/17 "2024-06-18T08:40:28Z")

</div>

**npm outdated** returned nothing, as if all packages were already updated.  
Later, I will update on another Windows Server, and I will post the logs

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [19 June 2024 17:29 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/18 "2024-06-19T17:29:05Z")

</div>

**Another example, Ubuntu, NodeJS 20**

```auto
ubuntu@ip-x-x-x-x:~/.node-red$ npm outdate

ubuntu@ip-x-x-x-x:~/.node-red$ npm list @azure/msal-node
node-red-project@0.0.1 /home/ubuntu/.node-red
└─┬ node-red-contrib-mssql-plus@0.12.2
  └─┬ mssql@10.0.1
    └─┬ tedious@16.4.1
      └─┬ @azure/identity@2.1.0
        └── @azure/msal-node@1.18.3

ubuntu@ip-x-x-x-x:~/.node-red$ npm update

added 20 packages, removed 14 packages, changed 65 packages, and audited 174 packages in 30s
61 packages are looking for funding
  run `npm fund` for details
4 moderate severity vulnerabilities
To address all issues (including breaking changes), run:
  npm audit fix --force
Run `npm audit` for details.

ubuntu@ip-x-x-x-x:~/.node-red$ npm list @azure/msal-node

node-red-project@0.0.1 /home/ubuntu/.node-red
└─┬ node-red-contrib-mssql-plus@0.12.2
  └─┬ mssql@10.0.4
    └─┬ tedious@16.7.1
      └─┬ @azure/identity@3.4.2
        └── @azure/msal-node@2.9.2

```

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [19 June 2024 19:49 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/19 "2024-06-19T19:49:19Z")

</div>

> [@softy2k](#):
>
> `npm update`

So `npm update` does update the children modules.

Good info.

Thanks for letting everyone know.

---

<div class="post-metadata">

**Author:** ![softy2k](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/softy2k/32/23707_2.png) [@softy2k](https://discourse.nodered.org/u/softy2k)\
**Post date:** [20 June 2024 04:59 UTC](https://discourse.nodered.org/t/unsupported-engine/88759/20 "2024-06-20T04:59:18Z")

</div>

Yes, tested with NodeJS 16 and NodeJS 20, Windows Server, Windows, and Ubuntu

[Next page](https://discourse.nodered.org/t/unsupported-engine/88759.md?page=2)
