一尘不染

Windows上缺少nodejs npm全局配置

node.js

我根本找不到npm存储其全局设置的位置。

npm config获取userconfig

C:\Users\Jack\.npmrc

npm config获取globalconfig

C:\Users\Jack\AppData\Roaming\npm\etc\npmrc

这些路径中都没有文件,但是

npm config get proxy->返回我的代理URL。我要删除。

npm config -g删除代理

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

阅读 306

收藏
2020-07-07

共1个答案

一尘不染

似乎该文件npm用于编辑其配置文件不是在全新安装中创建的,因为npm每个文件都有一个默认选项。这就是为什么您仍然可以通过npm config get <option>以下方式获得选项的原因:让这些文件仅覆盖默认值,而不会从头开始创建选项。

npm config即使我已经有几个月了,但我从来没有碰过我的东西。目前还没有任何文件,例如~/.npmrc(在Windows
8.1计算机上,带有Git Bash),但我可以运行,npm config get <something>并且如果它是正确的npm选项,它会返回一个值。当我运行时npm config set <option> <value>,该文件~/.npmrc似乎是自动创建的,选项及其值是唯一未注释的行。

至于删除选项,看起来就像是将值重新设置为默认值,或者如果该选项从未设置过,未设置并从未重置过,则不执行任何操作。此外,如果该选项是唯一显式设置的选项,则它看起来也将~/.npmrc被删除,并且set稍后再创建时将重新创建。

就您而言(假设一年后还是一样),您似乎从未在中设置proxy选项npm。因此,作为npmconfig帮助页说,它被设置为任何你http_proxy(不区分大小写)环境变量。这意味着没有什么可做的delete,除非您想“删除”
HTTP代理,尽管您可以set将option或environment变量更改为其他内容,并希望它们都不会以某种方式破坏您的设置。

2020-07-07