Ghost of a chance

Why is the JavaScript ecosystem like this?

Hmm, it’s been a while, better upgrade Ghost. Off I go…

Hey, there’s a new major version of Ghost out. Upgrade now to get the new features.

OK, sounds good, let’s do that.

Can’t do that. The new version requires MySQL and you’re running MariaDB. You’ll have to export every database on the system, remove MariaDB, install Oracle MySQL, then reimport all the databases. Manually.

Uh… Not sure I’m quite ready to…

Also, we don’t support Debian any more, because fuck you. So you’ll have to replace your entire OS with Ubuntu.

Yeah, that’s not happening today. Let me just update to the bug fix release of the major version of Ghost I’m already running.

Sorry, no can do, your version of npm is out of date.

Fine, I’ve upgraded npm. Now can we install that minor upgrade of Ghost?

Sorry, no can do, your version of NodeJS is too old. We need 12.22.1 or higher, 14.17.0 or higher, or 16.13.0 or higher.

Right, I’ve set up a new set of repositories so I can get a recent enough version of NodeJS, and upgraded it. Now, about that minor release…

Hey, the version of NodeJS you’ve got installed is too new. We don’t support anything above major version 16, but we didn’t tell you that, because fuck you. Oh, and the current LTS version is 18, so good luck with security.

And that is why I’m going to rip and replace Ghost with Hugo, or WordPress, or basically anything that doesn’t involve NodeJS.