I installed last version of Node.js (12.2 x64 windows)
After I run cmd
as administrator and try to call any npm
command (except npm -v
If anyone will encounter this problem in the future you need to find the npmrc file delete it and delete all configurations for node, delete node as well and install it, this should fix that. when deleting node some of the configurations aren't deleted so you have to delete it manually.
Just delete the .nprmc file at User/%UserProfile% and now try the command if it dosents work even reinstall once.
I've finally resolved my issue. According to suggestion from our local read me file
Node.js (with NPM) Note: On windows server machines, instead of node modules been installed at user %APPDATA% path, its better to install at a global path e.g c:\npm. This could be acheived by the npm command: $ npm config set prefix 'c:\npm' This is not required on individual developer's machine.
I've executed npm config set prefix 'c:\npm'
.
As result it added prefix="'c:\\npm'"
to my .npmrc file
This make node.js really crazy. It takes me about an hour to debug all these js scripts npm.js
code.js
etc... to find that it calls mkdirp
with 'c:\\npm'\etc
and it loop process forever.
It's if the prefix is not set correctly.
Just want to point out to those commenting -if you can't get access to the command line npm, then you can't run npm config
, obviously.
Open up powershell and type notepad $HOME/.npmrc
, and edit the line where it says prefix=...
and change it to a valid one.
It happenned for me too : I installed node only for my user on Windows 10, and managed to use npm by calling it using the full path "c:\Program Files\nodejs\npm"
I solved by using "c:\Program Files\nodejs\npm" config set prefix "c:\Program Files\nodejs"
(setting the prefix to the full path to npm)
And the result was :
λ cat c:\Users\<my_user_name>\.npmrc
prefix=c:\Program Files\nodejs
Now eveything works fine.
For clarity, when you call:
npm config set prefix 'c:\npm'
you are required to have the ' wrapping the path, but you need to remove them from the .npmrc file so that npm commands will work. So your resulting line in .npmrc file should look like:
prefix="c:\\npm"