Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

npm install Error: EACCES: permission denied, access '/var/www/html'

I am trying to run npm install on production but it gives me an error

npm ERR! path /var/www/html
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/var/www/html'
npm ERR!  { [Error: EACCES: permission denied, access '/var/www/html']
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/var/www/html\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/var/www/html' }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

/var/www/html is my website directory in server.

I've tried this, still getting error.

Any thought?

like image 610
cawecoy Avatar asked Oct 03 '18 07:10

cawecoy


1 Answers

I've got the solutions thanks to robrogers3 and @IftekharDani

Full solution:

  1. Giving the install user (npm) permissions to the /var/www/html directory:

    sudo chown -R $USER /var/www/html

  2. Giving the webserver permissions to the /var/www/html/storage/framework directory:

    sudo chown -R www-data:www-data /var/www/html/storage/framework

like image 111
cawecoy Avatar answered Nov 14 '22 21:11

cawecoy