Small issue - update?

Hello everyone,

These last weeks I am experiencing some issues with my node red flows. I didn't have these issues previously.

First, my node red version doesn't reconize some nodes that I used to use such as Email/exec nodes.
Second, when I delpoy the flow, I got the message "delpoy successfully" but when I inject a message to my flow I got the message "error: flow not delployed".

It is weird because my flows were working well before going on holidays. Is it a problem of version ? My node red flows work on v0.20.7.

Thank you very much, appreciated your precious help.

nodered-1

nodered-2

restart Node-RED, what version of nodejs are you using? Are there any other error message sin the startup messages.

I already restart the flow on IBM bluemix but nothing has changed.
I am using the V0.20.7
I got nothing anymore on the debug window, even when I inject message I should normally get a message back, even tough the flow is working or not.

Its always worth stating if you are using docker or a hosted version of Node-RED as it does make things different.
I don't use Bluemix but my guess would be it was restarted while you were away and Node-RED was updated to the latest but your version of nodejs wasn't and it is now incompatible.

Have you checked what version of nodejs you are running? (see getting started > IBM Cloud in the docs)

Ok, indeed I launch Node Red Starter via IBM Bluemix.
I am currently on the V0.20.7

nodered-3

The question is what version of Node.js your instance is using. If you created this instance a few months ago, then it will be running Node 6.x which the latest version of Node-RED no longer supports.

You'll need to edit your application's package.json file to change the 'engines' entry to 10.x - see https://nodered.org/docs/getting-started/ibmcloud

It is pretty naff if they make breaking changes behind your back so that the application fails like that.

It isn't quite that simple. And if anyone is to blame, then frankly its me.

At the time the boilerplate was deployed, its package.json had engines set to 6.x - the latest available. It also has the node-red dependency set to 0.*.

If the application gets restaged, then it will reinstall the modules according to the package.json file.

The problem comes when we dropped support for Node 6 in 0.20. So a restage of the app would have got Node 6 and Node-RED 0.20 - a combination that isn't valid.

We updated the boilerplate to set engines to 8.x a while ago, but people have had instances running for longer than that - and changing the engines value in the boilerplate doesn't change what people have already deployed.

Whilst we are pre-1.0, we just about got away with that sort of breaking change. We won't be able to do that after 1.0.

1 Like

OK, understood. Nothing in life is ever 'quite that simple' I suppose.