Updating ghost was a nightmare

Three weeks ago we got the notification that there was a vulnerability found in Ghost that is patched in the newest version(5.94.0). But, the last time we updated from 3.x to 5.24 was a pain that I didn't want to go through again so I postponed it as much as I can. Until I got bored.

I updated node in the server to v22 and forgot that ghost only works on LTS releases of nodejs. Good thing the repository had v18 and v20 because I didn't want to build and manage different versions of node. Replacing the current install was easy with the help of the package manager but updating ghost was another story.

Both LTS versions were not supported in our current install. I had to get node v16 somehow because that was the latest version ours supported. Node Version Manager made this easy but ghost still wouldn't budge. I updated from 5.24 to 5.69 on v16 hoping to find a version that is compatible with both v16 and v18. There was no version like that. When I try to update to 5.71 it says that I need v18 but when I use v18 to update to 5.71, it says that v18 is not supported by our current ghost install.

The culprit was ghost-cli. I got the notification that it was outdated and tried to update it so many times but it just wouldn't update. What I did was get node v20, update ghost-cli, go back to v18, and then update ghost to the latest version.

For future upgrade cycles, I switched back to v20 and reinstalled ghost based on that version. Hope the future updates don't kill me as much.