A yak shaver's guide to upgrading Ghost from 0.5.9 to 0.11.3
This isn't so much a technical guide as it is me venting about my latest yak shave.
Ghost kept badgering me to update so I decided, what the hell, I'm bored, let's go.
- Current version is 0.5.9, latest is 0.11.3, you need to do an intermediary update to 0.7.x.
wget0.7.1, install it by manually copying andchowning files. Ponder why the maintainers don't have a script for this.- Run it, seems to work fine. On to the
latestrelease I guess? wgetlatest, do the copying dance again.npm installfails because my node version is too old for Ghost. My blog server is running node v0.10. So yes, it is ancient.apt-cache show nodejshas v0.6 as the latest available thing so that's a no-go.- Attempt to install node v7, get an error when piping curl to sudo bash (!) that my Ubuntu is too old.
- Turns out I'm running 12.04. So yes, it is ancient.
- Learn how to do a LTS upgrade on Ubuntu and succeed after 3 badgering
cursesprompts asking for explicit user confirmation about changinggruband various other arcane config files and a reboot. - Run
apt-cache show nodejsfor giggles, now the latest one is v0.10. - Install node v7 successfully using their
curl | sudo bashcommand. Eat your hearts out, security pundits. npm installfails because my node version is too old. What?node -vis still v0.10, node v7 was linked asnodejs.- I'm losing my patience.
sudo mv /usr/bin/node /usr/bin/oldnodesudo ln -s /usr/bin/nodejs /usr/bin/nodenpm installfails because my node version is too new. Ghost decided to only support LTS versions, and hard fails when you use a newer one.- Very long and drawn out sigh.
- Add
GHOST_NODE_VERSION_CHECK=falseto my shell in the hope that Ghost will pick it up when running scripts. Nope. - Uninstall node v7.
- Install node v6.9.
npm installfails becauseENOMEM. My VPS is running 512MB RAM and doesn't have any swap.- Learn how to add and use a swapfile on Ubuntu.
npm installfinally works and I'm running my blog again.
On the bright side, I learned two more things I'll probably never need again about Ubuntu.