Error upgrading Dashboard node

I tried to upgrade node-red-dashboard from 2.29.3 to 3.2.0, from pallete manager. I get this error:

2022-09-20T14:49:17.592Z Install : node-red-dashboard 3.2.0
2022-09-20T14:57:45.748Z [err] npm
2022-09-20T14:57:45.748Z [err]  ERR!
2022-09-20T14:57:45.749Z [err]  code EBADENGINE
2022-09-20T14:57:45.754Z [err] ERR! engine Unsupported engine
2022-09-20T14:57:45.754Z [err] npm ERR! engine Not compatible with your version of node/npm: node-red-contrib-httpauth@1.0.12
2022-09-20T14:57:45.754Z [err] npm ERR! notsup Not compatible with your version of node/npm: node-red-contrib-httpauth@1.0.12
2022-09-20T14:57:45.754Z [err] npm ERR! notsup Required: {"node":"^0.12.7"}
2022-09-20T14:57:45.755Z [err] npm
2022-09-20T14:57:45.755Z [err] ERR! notsup Actual: {"npm":"8.15.0","node":"v16.17.0"}

(Note: I have removed some lines as the error was very long, please tell me if you need to see it in full.)

On my Ubuntu server I tried to upgrade npm like this:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

then NodeRED admin worked but when I launched dashboard it just showed " Welcome to the Node-RED Dashboard - Please add some UI nodes to your flow and redeploy." I rebooted the server but still received that message.

As I run this on a virtual machine, I was able to roll back to before the change.

But I still can't update to latest dashboard.

I have had similar issues like this before and always get tied in knots. Can someone help me out of this one?

NOTE TO SELF (or others reading this): I had lazily assumed httpauth was something I used, turns out it was installed but I wasn't using it. Also I had lazily assumed that some node being out of date (i.e. httpauth) would not prevent me from upgrading other nodes, however that's apparently incorrect.

In summary, I removed httpauth node, then tried to upgrade again, then it worked fine.

This is an npm thing, not node red. When you tell it to install a node it also checks loads of other stuff. This regularly causes confusion.