No way to update older sites?

I have a Ghost site running on v1, and I wanted to step through and update to the latest major release, however it appears there’s no way to actually do this.

In updating to v2, I get the following error:

Ghost v2.38.3 is not compatible with the current Node version. Your node version is 12.22.9, but Ghost v2.38.3 requires ^8.10.0 || ^10.13.0

Downgrading to NodeJS 8 makes the Ghost CLI stop working, but upgrading to a newer release (like NodeJS 12) makes the v2 update fail.

Is there any way out of this dependency cycle?

Your best bet is to use an older version of the CLI.

The latest 2.x version is 2.38.3 which is linked to CLI version 1.9.x and node version “^8.10.0 || ^10.13.0” (source)
The latest 3.x version is 3.42.8 which is linked to CLI version 1.12.x and node version “^10.13.0 || ^12.10.0 || ^14.15.0” (source)


Thanks, @vikaspotluri123! Manually walking through and installing specific builds worked, although you need to be careful to actually run Ghost in between each major update - the migrations fail spectacularly due to collation changes and other skipped entities.