There are times when You get an ugly EACCES
error message from NPM when You try to install an NPM package globally on Your Mac by running npm install -g <PACKAGE_NAME>
or npm uninstall -g <PACKAGE_NAME>
.
Faisals-Mac:Code faisal$ npm uninstall -g react-native-cli
/usr/local/lib/node_modules/react-native-cli/node_modules/winston/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules/react-native-cli/node_modules/ansi-styles
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/react-native-cli/node_modules/ansi-styles'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules/react-native-cli/node_modules/ansi-styles']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules/react-native-cli/node_modules/ansi-styles\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path:
npm ERR! '/usr/local/lib/node_modules/react-native-cli/node_modules/ansi-styles' }
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.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/faisal/.npm/_logs/2019-11-11T14_25_30_203Z-debug.log
The issue that is causing this is related to the fact that the folder NPM is trying to access/write to is not owned by the user that is executing the command
The run the commands stated below and You should be good to go!
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
Try running npm install -g ...
or npm uninstall -g ...
without sudo
and it should run without errors.