Let me preface this by saying that while I do use Node.js for development, I am not that familiar with the ecosystem and only care about it as far as getting tools built on top of it to work. Those tools, however, occasionally nag me about newer versions of node/npm being available, which prompted me to check my node's version:
❯ node --version
v20.20.0
That gives me a pause, because current version of Node.js sits at 25.8.1 and the latest LTS is at 24.14.10. That's quite a bit behind.
Did I mess something up while installing node? What does the package repository say?
❯ eopkg search nodejs
nodejs - Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
nodejs-20 - Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
nodejs-20-dbginfo - Debug symbols for nodejs-20
nodejs-22 - Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
nodejs-22-dbginfo - Debug symbols for nodejs-22
python-hatch-nodejs-version - Hatch plugin to read pyproject.toml metadata from package.json
Okay, there's also a 22.* branch available and an unversioned nodejs. I must have installed the 20.* one by mistake. The unversioned one will surely be either the current or latest LTS branch. Let's reinstall:
❯ sudo eopkg remove nodejs-20 nodejs
❯ sudo eopkg install -y nodejs
❯ node --version
v20.20.0
Okay, I'm confused. Is there a reason to keep the Node.js at such low version? Surely it isn't yet another Python 2 situation? I don't see a section dedicated to Node.js in the help center. Sifting through the forums didn't enlighten me either.
I'm a bit worried I'll boot up Solus after a weekly sync and find some of the tooling I use broken, since my node is too old. Should I be using docker or local node instead of system packages?