Missing write access in mac to /usr/local/lib/node_modules
node.jsAngularAngular CliNode Modulesnode.js Problem Overview
I am trying to install angular cli but it's show me Missing write access to /usr/local/lib/node_modules so, how can I fix it in my mac i try it may time but, not getting exact answer
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
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).
node.js Solutions
Solution 1 - node.js
Run these commands in a terminal window:
sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/lib/node_modules
sudo chown -R $USER /usr/local/lib/node_modules
Solution 2 - node.js
I had this issue, I could fixed it by calling sudo on every global install. I wasn't ok with that.
I followed the n package installation advices to be able to install npm packages without sudo.
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
Answer of @jeduard didn't work for me.
Solution 3 - node.js
Best way to solve your npm install -g
issues:
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
This way, you will never need to use SUDO
or change permissions
.
Quoting:
-
Back up your computer.
-
On the command line, in your home directory, create a directory for global installations:
mkdir ~/.npm-global
-
Configure npm to use the new directory path:
npm config set prefix '~/.npm-global'
-
In your preferred text editor, open or create a
~/.profile
file and add this line:export PATH=~/.npm-global/bin:$PATH
-
On the command line, update your system variables:
source ~/.profile
Solution 4 - node.js
Appending sudo
before the npm install
saved my day:
sudo npm install -g @angular/cli
Once you provide your system password, installation should finish smoothly:
Solution 5 - node.js
Same problem. I reinstalled the latest version of node via https://nodejs.org/en/download/ instead of using terminal. This resolved the issue.
Solution 6 - node.js
I had a similar issue when trying to install React -- issues with permissions being denied.
This is where SUDO can come in handy, it allows a permitted user to execute a command as the superuser or another user. Think of like "Run as Administrator" on Windows. If you type in the following command, it should allow you to access all of the needed folders with the proper elevated access.
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
This is also denoted in Dimitri's answer: https://stackoverflow.com/a/60791736/3803726
Solution 7 - node.js
If you're really blocked on installing NPM modules globally (e.g. on some corporate laptop), you could just install them all in a single local folder somewhere and then add the path to node_modules/.bin/ to your PATH environment.
Solution 8 - node.js
I had the same issue.
type this cmd in terminal
sudo nautilus
after that, it opens another file manager that has root access
after that type
sudo apt install nodejs
sudo apt install npm
sudo npm install -g npm@latest
sudo npm install -g @angular/cli
ng --version
Solution 9 - node.js
For macOS try to run -
sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/local/lib/node_modules
sudo chown -R $USER /usr/local/bin/
If this still doesn't work you might need to add sudo to the npm install command.