I can't find at all where npm has its global settings stored.
npm config get userconfig
npm config get globalconfig
There's no files at either of these paths and yet
npm config get proxy -> returns my proxy url for work. which I want to delete.
npm config -g delete proxy
npm ERR! Error: ENOENT, unlink 'C:\Users\Jack\AppData\Roaming\npm\etc\npmrc' npm ERR! System Windows_NT 6.2.9200 npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "config" "-g" "delete" "proxy" npm ERR! cwd C:\f\Dropbox\apps npm ERR! node -v v0.8.22 npm ERR! npm -v 1.2.14 npm ERR! path C:\Users\Jack\AppData\Roaming\npm\etc\npmrc npm ERR! code ENOENT npm ERR! errno 34 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\f\Dropbox\apps\npm-debug.log npm ERR! not ok code 0
It looks like the files
npm uses to edit its config files are not created on a clean install, as
npm has a default option for each one. This is why you can still get options with
npm config get <option>: having those files only overrides the defaults, it doesn't create the options from scratch.
I had never touched my
npm config stuff before today, even though I had had it for months now. None of the files were there yet, such as
~/.npmrc (on a Windows 8.1 machine with
Git Bash), yet I could run
npm config get <something> and, if it was a correct
npm option, it returned a value. When I ran
npm config set <option> <value>, the file
~/.npmrc seemed to be created automatically, with the option & its value as the only non-commented-out line.
As for deleting options, it looks like this just sets the value back to the default value, or does nothing if that option was never set or was unset & never reset. Additionally, if that option is the only explicitly set option, it looks like
~/.npmrc is deleted, too, and recreated if you
set anything else later.
In your case (assuming it is still the same over a year later), it looks like you never set the
proxy option in
npm. Therefore, as
config help page says, it is set to whatever your
http_proxy (case-insensitive) environment variable is. This means there is nothing to
delete, unless you want to "delete" your HTTP proxy, although you could
set the option or environment variable to something else and hope neither breaks your set-up somehow.
This recipe can be found in it's original form on Stack Over Flow.