Ghost’s current recommended Node version is Node v14 LTS.
|11.x and below||Unsupported|
|12.x (Node v12 Erbium LTS)||Supported|
|14.x (Node v14 Fermium LTS)||Recommended|
|15.x and above||Unsupported|
We use the recommended version of Node.js in production on Ghost(Pro) which means it’s heavily tested and issues are actively fixed by the Ghost core team.
Running Ghost on the latest version of Node.js is not guaranteed to work, and we’re unable to offer support for any issues. Ghost is a small team so we keep version support to a minimum to give us time to build new features 🏃♀️
Compatible versions of Node.js can be downloaded from the Node.js releases page. You can also install multiple versions of node using nave or nvm.
When upgrading Node.js, you need to run the update for Node and then also re-install Ghost’s dependencies. This is because Ghost has several binary dependencies which are compiled for the specific Node.js version. Without reinstalling dependencies, Ghost will fail to start with strange error messages.
To upgrade the steps are:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bashto update your source list with the version of Node.js you want to upgrade to.
sudo apt-get install -y nodejsto upgrade Node.js
ghost versionto get your current Ghost version
ghost update [version] --forceto force Ghost to reinstall your current version of Ghost, to trigger a re-install of dependencies.
It’s not recommended to update Node and Ghost at the same time. Reinstalling the current version of Ghost ensures that Node is updated correctly first, so that you can be sure that Ghost will update smoothly.
If you attempt to install Ghost with an unsupported version of Node.js, you may encounter the error ERROR: Unsupported version of Node and/or Exit status 231. To resolve this, you must install a compatible version of Node.js.
Unable to convert from source HTML to Mobiledoc or Error: Cannot find module ‘jsdom’ errors occur when trying to use the Admin API with Node v6, which isn’t supported. Please upgrade to Node v8 or higher.
Why follow LTS?
We try to encourage the community to support each other, but more often than not it falls to us to ensure our users have a good experience.
Ghost is a tiny team with ambitious plans and we need to focus on delivering a useful product. By following LTS we can focus our efforts on meaningful work and keep our time spent on node versioning to a minimum. It also allows us to delay the support impact until later and give us a chance to grow our team to cope with the support in the meantime.
If you want to run Ghost on the latest version of node you can, however we are unable to offer support for any issues.