I'm trying to set up less on phpstorm so I can compile .less files to .css on save. I have installed node.js and the next step (according to this https://www.jetbrains.com/webstorm/help/transpiling-sass-less-and-scss-to-css.html) is running this command in the terminal
npm install -g less
However when I do this I get these errors
☁ ~ npm install -g less
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/mkdirp/0.5.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/graceful-fs/3.0.8'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/extend/3.0.0'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/readable-stream/2.0.4'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/chalk/1.1.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/xtend/4.0.1'
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
/usr/local/lib
└─┬ less@2.5.3
├─┬ errno@0.1.4
│ └── prr@0.0.0
├── image-size@0.3.5
├── mime@1.3.4
├─┬ promise@6.1.0
│ └── asap@1.0.0
└─┬ source-map@0.4.4
└── amdefine@1.0.0
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! node v5.0.0
npm ERR! npm v3.3.6
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! at Error (native)
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! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/brentscholl/npm-debug.log
I'm a complete noob here and not sure what to do next. Any help would be very appreciated!
Using sudo is not recommended. It may give you permission issue later. While the above works, I am not a fan of changing folders owned by root to be writable for users, although it may only be an issue with multiple users. To work around that, you could use a group, with 'npm users' but that is also more administrative overhead. See here for the options to deal with permissions from the documentation: https://docs.npmjs.com/getting-started/fixing-npm-permissions
I would go for option 2:
To minimize the chance of permissions errors, you can configure npm to use a different directory. In this example, it will be a hidden directory on your home folder. Make a directory for global installations: mkdir ~/.npm-global Configure npm to use the new directory path: npm config set prefix '~/.npm-global' Open or create a ~/.profile file and add this line: export PATH=~/.npm-global/bin:$PATH Back on the command line, update your system variables: source ~/.profile Test: Download a package globally without using sudo. npm install -g jshint If still show permission error run (mac os): sudo chown -R $USER ~/.npm-global
This works with the default ubuntu install of:
sudo apt-get install nodejs npm
I recommend nvm
if you want more flexibility in managing versions: https://github.com/creationix/nvm
On MacOS use brew, it should work without sudo
out of the box if you're on a recent npm
version. Enjoy :)
Run these commands in a terminal window (note: DON'T replace the $USER part... thats a linux command to get your user!):
sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/lib/node_modules
sudo chown -R $USER /usr/local/lib/node_modules
/usr
? What if someone else wants to install node stuff?
sudo chown -R $USER /usr/local/lib/node_modules
. @Mark That's true, but it's of course no problem if you only have one user.
npm i -g yarn
Mac OS X Answer
You don't have write access to the node_modules directory
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
Add your User to the directory with write access
Open folder containing node_modules open /usr/local/lib/ Do a cmd+I on the node_modules folder to open the permission dialog Add your user to have read and write access in the sharing and permissions section
open /usr/local/lib/
https://i.stack.imgur.com/vEvPi.png
Reinstall node and npm with Node Version Manger (as per written in npm documentation) to avoid permission errors:
In OSX:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
or follow this article:
http://dev.topheman.com/install-nvm-with-homebrew-to-use-multiple-versions-of-node-and-iojs-easily/
Windows users should install nvm-windows. For further help how to install nvm refer the nvm readme.
Then choose for example:
nvm install 8.0.0
nvm use 8.0
Now you can give another try:
npm install -g less
For my mac environment
sudo chown -R $USER /usr/local/lib/node_modules
solve the issue
You can use this command with the root password to add permission for writing for node_module
folder:
sudo chown -R $USER /usr/local/lib/node_modules
I have tried all the suggested solutions but nothing worked.
I am using macOS Catalina 10.15.3
Go to /usr/local/
Select bin folder > Get Info
https://i.stack.imgur.com/tNKSJ.png
And go to terminal and run npm install -g @ionic/cli
It has helped me.
open /usr/local/lib/
sudo chown -R $USER /usr/local/lib/node_modules This command will work
You can try with sudo, like the following
sudo npm install -g less
If it does not work, you can refer to this link https://ionicframework.com/docs/developing/tips#resolving-permission-errors
Try installing with sudo
. I had a similar problem installing npm package globally. The problem occurs because current use does not have write permissions for making changes in directory.
Didn't work
npm i -g vsce
Worked
sudo npm i -g vsce
I have got the same problem. updating npm was not working for me either so I just decided to reinstall it.
what worked for me is uninstall node from my system using.
sudo apt-get remove nodejs
sudo apt-get remove npm
end then reinstall it after update.
sudo apt-get update
sudo apt install npm
In linux make sure getting all authority with:
sudo su
Another option is to download and install a new version using an installer.
https://nodejs.org/en/download/
Success story sharing
npm i -g yarn
... thesudo chown...
method doesn't work for thatnpm i -g something
doesn't work for millions of people, and people google and some solutions say usesudo
and some saysudo
is dangerous and use hacks and users make some guess as to what maybe ok, and type in whatsoever they don't understand and not know the security consequence. This is the state of our engineering right now?