Ghost 5.99.0 Doesn't start on NodeJs v20.18.1

I don’t know what happened but ghost stopped working on my local.

My node version should match to supported version because documentation says “20.x” is supported in node version faq

I cannot find anything what could be problem.

Here is some info:

Running in development mode

✖ Checking system Node.js version - found v20.18.1
ℹ Ensuring user is not logged in as ghost user [skipped]
ℹ Checking if logged in user is directory owner [skipped]
✔ Checking current folder permissions
✔ Validating config
✔ Checking content folder ownership
✔ Checking memory availability
✔ Checking binary dependencies
One or more errors occurred.

1) SystemError

Message: The directory /home/kertzi/ is not readable by other users on the system.
This can cause issues with the CLI, you must either make this directory readable by others or install node and Ghost-CLI in another location.

Debug Information:
    OS: ManjaroLinux, v24.2.1
    Node Version: v20.18.1
    Ghost Version: 5.99.0
    Ghost-CLI Version: 1.26.1
    Environment: development
    Command: 'ghost start'

Also ghost doctor or ghost start -D doesn’t tell any more info about problem.

message “directory not readable by others” I don’t believe that’s root cause because I’m running this on local development laptop and I think it clearly says that my node version is wrong which doesn’t make sense.

Thanks for any help!

Answering to myself, looks like problem is actually permissions, which is really stupid if using nvm.

After setting chmod +rx to my home folder solves but is not very secure way to solve.
Is there anyway to bypass this check?

I think the way to deal with this would be to install node somewhere other than your home folder, so that you could just set 755 permissions on that folder, not all of /home/your-user.

I agree that the X next to ‘checking system node.js version’ is a little confusing, but the SystemError below provides a lot of detail about exactly hat the problem. The X above is meant (I am guessing) to indicate an error in that step, which was checking on Node. And there was an error, it just wasn’t a version error…

Thanks for the reply.
I’m using nvm to control node versions and that tool installs all stuff inside home folder.
Now my final solution was by just creating docker compose file and run ghost inside docker.

I would suggest still to remove this check (permission check) when in development mode from ghost.

Also I was able to temporary fix this by adding +rx for other to my home folder but then I started to get wierd errors about sudo, something like (don’t remember anymore exactly) “sudo: terminal access is need, install askpass …”
Also it looks like ghost bombard sudo command with wrong password in startup, enough to get my account locked for moment, not good!

there is nothing to stop you running ghost in your user directory - just create a subdirectory and install it there - if the default permissions on the subdir are wrong then change the permissions per the above.

It doesn’t matter where node is installed as long as you are using a supported version - local installations under your home directory work fine.

Well, I had ghost installed in subdir inside my homedir, (/home/kertzi/.nvm/versions/node/v20.18.1/bin/) and it still gives error that permissions were wrong for /home/kertzi which is really wierd, why it wants root of homedir to be worldwide readable?

I had correct permission (like drwxr-xr-x) set to subdir but didn’t help.

Sorry I should have been clearer - it doesn’t matter where the ghost-cli is installed. when creating a local ghost instance you would usually do this from within in a sub-directory somewhere under your user directory.

I just tried it on my local machine using a directory that is only read/writable by my user account and it installed without any issues, so I think we’d need some more info on the steps you are following to understand the error you saw.

edit to show node 20.18.1 install