Installing Ghost on Ubuntu VM (Apple M1)


New user here… I am trying to set up a Ghost on a Virtual machine.

The VM is Ubuntu 22.04 but the ARM version of the Ubuntu server running on a MacBook Air (M1) using UTM (QEMU).

I am following this guide > How to install & setup Ghost on Ubuntu 20.04 or 22.04

Everything runs as expected until I do the actual ghost install
I get a very detailed error which I can’t fathom and wondered if this was the right place to ask for assistance?

I can post/attach the log file if anyone can take a look.

If anyone can assist please give me a shout.

Kind regards


Yes, please attach the log.

Many thanks Ryan. I am happy to help in any way I can if you need me to run tests/reinstall a VM or two to uncover what’s happening.

The forum won’t allow me to paste the whole log in here as it is complaining about “number of links”

Is there any other way I can get the logfile to you?

What’s your end goal of installing Ghost on the VM?

Can you share the beginning of the error, that’s usually the most helpful?

OK will go dig out the “juicy” bits and paste them in.
I want to make sure I can create a Ghost production system myself before embarking on a journey where I will spend a little money with a UK based cloud hosting service to create a Ghost site.

There are many lines which indicates errors but these are the first few lines I see in the terminal windows:-

:heavy_multiplication_x: Downloading and installing Ghost v5.85.0

A ProcessError occurred.

Message: Command failed: yarn install --no-emoji --no-progress

warning ghost@5.85.0: The engine “cli” appears to be invalid.

warning Resolution field “moment@2.24.0” is incompatible with requested version “moment@^2.29.1”

warning Resolution field “moment@2.24.0” is incompatible with requested version “moment@2.29.1”

And in the log file …

Debug Information:
OS: Ubuntu, v22.04.4 LTS
Node Version: v18.20.3
Ghost-CLI Version: 1.26.0
Environment: production
Command: ‘ghost install’

gyp info spawn args ]
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack at getNotFoundError (/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/which/lib/index.js:16:17)
gyp ERR! stack at which (/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/which/lib/index.js:77:9)
gyp ERR! stack at async doWhich (/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/node-gyp/lib/build.js:112:22)
gyp ERR! stack at async loadConfigGypi (/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/node-gyp/lib/build.js:77:7)
gyp ERR! stack at async build (/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/node-gyp/lib/build.js:35:3)
gyp ERR! stack at async run (/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/node-gyp/bin/node-gyp.js:81:18)
gyp ERR! System Linux 5.15.0-112-generic
gyp ERR! command “/usr/bin/node” “/var/www/ghost1/versions/5.85.0/node_modules/re2/node_modules/.bin/node-gyp” “rebuild”
gyp ERR! cwd /var/www/ghost1/versions/5.85.0/node_modules/re2
gyp ERR! node -v v18.20.3
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok
triggerUncaughtException(err, true /* fromPromise */);

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason “1”.] {

Node.js v18.20.3

Looks like the same error from this post:

1 Like

Thank you vikaspotluri123
That has indeed solved it. Sorry I did not spot that other post.

1 Like

No problem! gyp errors are always frustrating to parse and root-cause :slight_smile: