Kid*_*rla 5 configuration node.js npm
默认情况下,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在新的NPMRC中将电子邮件设置为“ foo@example.com”,在新NPMRC 中将其设置为“ bar@example.com”,则会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 = "foo@example.com"
(... 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.
Run Code Online (Sandbox Code Playgroud)
该值来自~/.npmrc出现的外观(我仔细检查了新NPMRC中的值肯定是“ bar@example.com”)。
我以为这可能是NPM中的错误,所以我将Node / NPM升级到了最新版本,但是它的行为仍然相同。我使用的是userconfig错误的,应该如何工作?
来自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 文件
| 归档时间: |
|
| 查看次数: |
2319 次 |
| 最近记录: |