I an facing this issue while installing the package cowsay globally. How do I fix it?

Viewed 55

I had tried to install cowsay package globally with the help of npm, but I'm facing the following error.

npm i -g cowsay

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
        npm ERR! code EACCES
        npm ERR! syscall mkdir
        npm ERR! path /usr/local/lib/node_modules/cowsay
        npm ERR! errno -13
        npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/cowsay'
        npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/cowsay'] {
        npm ERR!   errno: -13,
        npm ERR!   code: 'EACCES',
        npm ERR!   syscall: 'mkdir',
        npm ERR!   path: '/usr/local/lib/node_modules/cowsay'
        npm ERR! }
        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.
1 Answers

To get the list of directories and their owners:

ls -l

Find the folder that npm is installing to, change ownership permissions to your user. You can do that by:

sudo chown <user_id> <folder_name>
This will change the owner permissions of the given folder to your user. Now npm should install just fine.

Related