为什么npm userconfig没有被选中?

问题描述 投票:4回答:1

默认情况下,NPM将用户配置存储在~/.npmrc中。我的用户配置中有很多东西,我不想干涉我的主项目,但是我切换到需要不同配置的第二个项目,所以我做了:

npm config set userconfig C:\path\to\another\directory\.npmrc

令我惊讶的是,NPM在userconfig的现有用户配置中添加了一个新条目~/.npmrc。这对我来说没有意义 - 似乎NPM需要知道用户配置的位置,以便找出它的位置!

现在,NPM忽略了我放入新NPMRC文件的任何属性,只接受来自~/.npmrc的属性。更奇怪的是,npm config list包含一个userconfig标题(以分号为前缀的行)指定我的新位置,但内容来自~/.npmrc

例如,如果我在~/.npmrc中将我的电子邮件设置为“[email protected]”,并在我的新NPMRC中将其设置为“[email protected]”,则npm config list会报告以下内容:

; cli configs
user-agent = "npm/3.10.8 node/v6.9.1 win32 x64"

; userconfig C:\path\to\another\directory\.npmrc
(... other properties ...)
email = "[email protected]"
(... other properties ...)
userconfig = "C:\path\to\another\directory\.npmrc"

; builtin config undefined

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\
; HOME = C:\Users\MyUsername
; "npm config ls -l" to show all defaults.

尽管出现了这个价值来自~/.npmrc(我仔细检查了新NPMRC中的价值肯定是“[email protected]”)。

我认为这可能是NPM中的一个错误,所以我将Node / NPM升级到最新版本,但它的行为方式仍然相同。我使用userconfig错误,它应该如何工作?

node.js configuration npm
1个回答
3
投票

来自https://docs.npmjs.com/misc/config

npmrc文件

这四个相关文件是:

  • 每个项目的配置文件(/path/to/my/project/.npmrc)
  • 每用户配置文件(默认为$ HOME / .npmrc;可通过CLI选项--userconfig或环境变量$ NPM_CONFIG_USERCONFIG配置)
  • 全局配置文件(默认为$ PREFIX / etc / npmrc;可通过CLI选项配置--globalconfig或环境变量$ NPM_CONFIG_GLOBALCONFIG)
  • npm的内置配置文件(/ path / to / npm / npmrc)

固定

调用像npm --userconfig /another/path/to/npmrc install这样的命令,它将使用它而不是〜/ .npmrc文件

© www.soinside.com 2019 - 2024. All rights reserved.