# BADENGINE errors

**URL:** <https://discourse.nodered.org/t/badengine-errors/83449>\
**Category:** General\
**Created:** [5 December 2023 21:22 UTC](https://discourse.nodered.org/t/badengine-errors/83449 "2023-12-05T21:22:22Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![impvan](https://avatars.discourse-cdn.com/v4/letter/i/8797f3/32.png) [@impvan](https://discourse.nodered.org/u/impvan)\
**Post date:** [5 December 2023 21:22 UTC](https://discourse.nodered.org/t/badengine-errors/83449/1 "2023-12-05T21:22:22Z")

</div>

Installing nodes from the pallete automatically uses the '--engine-strict' switch.  
This is causing me multiple problems: I'm using npm 9.8.1, and many of the nodes I'm trying to (re)install require npm 8.x  
What's the best way around this? Roll back to npm 8.x? Apply --ignore-engines? Is there a way to modify the Palette Manager defaults?  
I'm particularly wanting to install -contrib-timeprop; but the same issue has cropped up with other nodes recently, after re-building NR following SD card failure.

---

<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:** [5 December 2023 21:30 UTC](https://discourse.nodered.org/t/badengine-errors/83449/2 "2023-12-05T21:30:51Z")

</div>

The engines property is only for node version not npm.

> [@impvan](#):
>
> contrib-timeprop

This [node](https://github.com/colinl/node-red-contrib-timeprop/blob/master/package.json) doesn't have an engines setting.

Maybe you could share an actual log error?

* * *

At a guess, you have installed node v20 and you are getting problems with _some_ nodes ?

I would personally recommend v18 max for now.

---

<div class="post-metadata">

**Author:** ![impvan](https://avatars.discourse-cdn.com/v4/letter/i/8797f3/32.png) [@impvan](https://discourse.nodered.org/u/impvan)\
**Post date:** [5 December 2023 22:01 UTC](https://discourse.nodered.org/t/badengine-errors/83449/3 "2023-12-05T22:01:48Z")

</div>

I'm on node v18. Here's the log from the attempted install:

Install : node-red-contrib-timeprop 1.0.1  
npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-timeprop@1.0.1  
[err] npm  
[err] WARN  
[err] config production Use `--omit=dev` instead.  
[err] ERR!  
[err] code EBADENGINE  
[err] npm  
[err] ERR! engine Unsupported engine  
[err] engine Not compatible with your version of node/npm: particle-api-js@10.3.0  
[err] npm  
[err] ERR! notsup Not compatible with your version of node/npm: particle-api-js@10.3.0  
[err] notsup Required: {"node":"\>=12.x","npm":"8.x"}  
[err] notsup Actual: {"npm":"9.8.1","node":"v18.18.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:** [5 December 2023 22:14 UTC](https://discourse.nodered.org/t/badengine-errors/83449/4 "2023-12-05T22:14:19Z")

</div>

> [@impvan](#):
>
> particle-api-js

This is the issue. Not the time node. It does in fact demand npm v8. See [here](https://github.com/particle-iot/particle-api-js/blob/master/package.json)

This is odd & rather strict!

If you don't need this you could find out what is requiring it & if not needed uninstall it.

---

<div class="post-metadata">

**Author:** ![impvan](https://avatars.discourse-cdn.com/v4/letter/i/8797f3/32.png) [@impvan](https://discourse.nodered.org/u/impvan)\
**Post date:** [5 December 2023 22:27 UTC](https://discourse.nodered.org/t/badengine-errors/83449/5 "2023-12-05T22:27:04Z")

</div>

Thanks Steve, will look into it later, with a clearer head! I'm not especially aware of particle, what it's for or why it might have been default installed...

---

<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:** [6 December 2023 07:07 UTC](https://discourse.nodered.org/t/badengine-errors/83449/6 "2023-12-06T07:07:05Z")

</div>

Probably a node you have installed has pulled it in. If you go into your .node-red folder (or the folder where the flows file is) and run  
`npm list particle-api-js`  
It should tell you.

---

<div class="post-metadata">

**Author:** ![impvan](https://avatars.discourse-cdn.com/v4/letter/i/8797f3/32.png) [@impvan](https://discourse.nodered.org/u/impvan)\
**Post date:** [7 December 2023 20:18 UTC](https://discourse.nodered.org/t/badengine-errors/83449/7 "2023-12-07T20:18:57Z")

</div>

I ran `npm list` and it returned '---empty'.

Using the palette manager to remove 'particle\*' seems to have cured things.

So for clarity - if there's a node with an unsatisfied npm requirement, it will block installation of any other new node?

---

<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:** [7 December 2023 21:09 UTC](https://discourse.nodered.org/t/badengine-errors/83449/8 "2023-12-07T21:09:14Z")

</div>

> [@impvan](#):
>
> if there's a node with an unsatisfied npm requirement, it will block installation of any other new node?

That can be the case, that is something that npm does, it is not specifically a node-red issue.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [5 February 2024 21:09 UTC](https://discourse.nodered.org/t/badengine-errors/83449/9 "2024-02-05T21:09:23Z")

</div>

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