Report this

What is the reason for this report?

My express app wont start

Posted on October 2, 2022

Hello. I’m attempting to run a simple express app with the command sudo -u nodejs pm2 start --name aboutme app.js\ but keep getting error. I look in logs and see PM2 error: Error: spawn /usr/bin/bash EACCES Any advice? link to app here. link to screenshot here.



This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi there,

It sounds like that your nodejs user does not have access to the /root directory.

I’ve just tested running the project with the root user directly and it works well:

pm2 start app.js
[PM2] Applying action restartProcessId on app [app](ids: 0)
[PM2] [app](0) ✓
[PM2] Process successfully started

What you could do is:

  • Run pm2 as the root user
  • Alternatively, switch to the nodejs user, and git clone the project into the nodejs user’s home directory, that way the nmodejs user will be the owner of the files and would not have that permissions problem

Let me know how it goes!

Best,

Bobby

Hi @henriavo,

This sounds like a permissions/ownership issue. See if your have set some weird permissions most of all. Usually, and I believe the express app has the same permissions, they need to be 755 for folders nad 644 for files. You can do that for a faster outcome:

  1. find /path/to/express/app -f -exec chmod 644 {} \;
  2. find /path/to/express/app -d -exec chmod 755 {} \;

Where /path/to/express/app should be the real path.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.