7

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?

cawecoy
  • 2,359
  • 4
  • 27
  • 36
  • 2
    Did you check the right of your '/var/www/html' folder? – Veve Oct 03 '18 at 08:28
  • 1
    `sudo chown -R $USER /var/www/html` . refer : `https://stackoverflow.com/questions/16151018/npm-throws-error-without-sudo` – IftekharDani Oct 03 '18 at 09:39
  • Just did `sudo chown -R $USER /var/www/html` and it's worked, but it's also lead my website to break down with this error: `prod.ERROR: file_put_contents(/var/www/html/storage/framework/views/fc62ea85cb79efbc10ea806eb27bde7ad95abc56.php): failed to open stream: Permission denied {"exception":"[object] (ErrorException(code: 0): file_put_contents(/var/www/html/storage/framework/views/fc62ea85cb79efbc10ea806eb27bde7ad95abc56.php): failed to open stream: Permission denied at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)` – cawecoy Oct 05 '18 at 02:17

3 Answers3

10

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

Community
  • 1
  • 1
cawecoy
  • 2,359
  • 4
  • 27
  • 36
0

I had the same issue on Win 7. As mentioned before, it's related to file permissions. I had in my Homestead.yml this

folders:
    - map: ...
      to: ...
      options: 
          owner: "www-data"
          group: "www-data"
          mount_options: ["dmode=775,fmode=664"]

Note the "options" key. By default, it's not presented, but I tried to solve another problem with symlinks...Once I removed it, everything worked. Also, I use --no-bin-links with npm install command

ymakux
  • 3,415
  • 1
  • 34
  • 43
-10

you can retry it:

sudo npm install
黃建樺
  • 1
  • 1
  • 3
    `sudo npm install` has broken systems in the past. You should at least clarify what this command does differently. – Botje Jul 02 '19 at 11:45