So I tried and tried and tried…
…then I succeeded. Seems like there is some kind of collision with the various nodejs package managers and where they put the files which is leading to a lot of confusion as modules exist in several locations.
I followed instructions from here:
Specifically:
sudo npm install -g yarn
cd to frappe folder (something like ./apps/frappe. It should contain a yarn.lock file
sudo yarn
cd ~/frappe-bench
sudo npm install -g yarn
bench update --requirements
bench setup socketio
bench build
bench update
and it finally worked.