Ghost-cli v1.23.1 - BAD ENGINE warnings on Node Stable v18.12.1

It seems that Ghost was updated to support Node 18 two weeks ago - but the CLI release is still a version from early October:

sudo npm install -g ghost-cli@latest
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'ghost-cli@1.23.1',
npm WARN EBADENGINE   required: { node: '^12.22.1 || ^14.17.0 || ^16.13.0' },
npm WARN EBADENGINE   current: { node: 'v18.12.1', npm: '9.2.0' }
npm WARN EBADENGINE }

Which means that:

ghost upgrade
Message: The version of Node.js you are using is not supported.
Supported: ^12.22.1 || ^14.17.0 || ^16.13.0
Installed: 18.12.1
See https://ghost.org/docs/faq/node-versions/ for more information

So looks like the Node 18 Stable upgrade from late October is still on hold…

If you look at their support pages for the self-hosting requirements, it says explicitly that anything about node 17.x is unsupported.

Unsupported means that it might work, but there could be problems, and you won’t get any help when problems occur.

You can see that here: Supported node versions for self-hosted installs of Ghost.

The recommendation is Node 16.x (I have installed 16.19.0 (the last 16.x version of node).

I would not recommend using anything but the recommended software and services for production,

1 Like

Yeah, problem is that Node 18 was released in April, and then as Node Stable in Oct. Other software on the server recommends using Node Stable for production.

I know I could just update the json by hand. The changes have been in Ghost and Ghost-cli for a while, and passing the tests.

I mostly posted this as FYI because I was tracking the pull request- and saw that it had been merged and released - unaware that I also had to track the release of Ghost CLI.

This is the kind of thing that uses people to use more containerized services apps, so that one app can run onee version of Node.js and a different app can run another.

Coordinating several unrelated projects to update the Node.js version they support at the same time is always going to be a challenge.

Unfortunately, the Ghost project doesn’t officially support containerized versions of their app or CLI tool yet, so we are our own if we want to try to deploy it that way.