Chocolatey is used frequently to install this kind of utilities but sometimes it could come with problems. NVM is a tool to install different versions of Node.js and it is very useful for developers because it is very simple to work with different versions, but NVM was intended to work for Linux and Mac and NVM for Windows is a different project but it works very well.
The problems come when you use chocolatey to install NVM and then you want to update all your packages or only NPM using
npm update -g you will see an error similar to this one:
C:\>npm update -g npm ERR! path C:\Program Files\nodejs\npx.cmd npm ERR! code EEXIST npm ERR! Refusing to delete C:\Program Files\nodejs\npx.cmd: is outside C:\Program Files\nodejs\node_modules\npx and not a link npm ERR! File exists: C:\Program Files\nodejs\npx.cmd npm ERR! Move it away, and try again.
The error says that it can't continue because NPM can't overwrite the files that are already in your system, the files that should be overwritten are inside this path
%ProgramFiles%\nodejs and the files are these:
npm npm.cmd npx npx.cmd node_modules\npm
So, to fix this problem you need to remove the files manually or use the commands below using the Command Prompt (CMD) as a normal user.
pushd %ProgramFiles%\nodejs del npm npm.cmd npx npx.cmd move node_modules\npm node_modules\npm2 call node node_modules\npm2\bin\npm-cli.js i [email protected] -g rmdir /S /Q node_modules\npm2 popd pause
If you don't have problems with the previous list of commands you will have the last version of NPM installed on your system and you will be able to update all the packages.