官方文档:docs.npmjs.com/misc/confightml
npm 从如下来源获取配置信息(优先级由高到低):node
--foo bar
设置配置参数 foo
的值为 "bar"
。--
时中止读取配置参数值。--foo
而不指定任何值时,设置配置参数 foo
的值为 true
。示例:shell
# flag1 -> true, flag2 -> true
--flag1 --flag2
# flag1 -> true, flag2 -> "bar"
--flag1 --flag2 bar
# flag1 -> true, flag2 -> true, bar 为命令参数,不是配置参数 flag2 的值
--flag1 --flag2 -- bar
复制代码
npm_config_
前缀的环境变量会被解释为 npm 配置参数。例如,环境变量中的npm_config_foo=bar
将会设置配置参数 foo
的值为 "bar"
。true
。有以下四类 npmrc 文件(优先级由高到低):npm
/path/to/my/project/.npmrc
)$HOME/.npmrc/
;可经过 CLI 选项 --userconfig
或环境变量 $NPM_CONFIG_USERCONFIG
指定)$PREFIX/etc/npmrc
;可经过 CLI 选项 --globalconfig
或环境变量 $NPM_CONFIG_GLOBALCONFIG
指定)/path/to/npm/npmrc
)执行 npm config ls -l
查看 npm 配置参数,若是没有额外指定配置,则该命令的输出结果是 npm 默认配置参数。json
-v: --version
-h, -?, --help, -H: --usage
-s, --silent: --loglevel silent
-q, --quiet: --loglevel warn
-d: --loglevel info
-dd, --verbose: --loglevel verbose
-ddd: --loglevel silly
-g: --global
-C: --prefix
-l: --long
-m: --message
-p, --porcelain: --parseable
-reg: --registry
-f: --force
-desc: --description
-S: --save
-P: --save-prod
-D: --save-dev
-O: --save-optional
-B: --save-bundle
-E: --save-exact
-y: --yes
-n: --yes false
ll and la commands: ls --long
若是指定的配置参数缩写能够无歧义地解析为一个已知的配置参数,它将会被解析为该配置参数,示例:bash
npm ls --par
# same as:
npm ls --parseable
复制代码
若是多个单字母缩写的配置参数连在一块儿,而且结果没法无歧义地解析为一个已知配置参数,那么这些连在一块儿的缩写参数会被解析为这些配置参数的组合,示例:编辑器
npm ls -gpld
# same as:
npm ls --global --parseable --long --loglevel info
复制代码
执行 npm-scripts 时,若脚本中引用了 package.json 文件中的 config
字段下的配置参数,用户可经过 npm 配置覆盖参数值。示例:ui
{
"name": "foo",
"config": {
"port": "8080"
},
"scripts": {
"start": "node server.js"
}
}
复制代码
// server.js
http.createServer(...).listen(process.env.npm_config_port)
复制代码
# 经过配置覆盖 package.json 中 config.port 的值
npm config set foo:port 80
复制代码
全部配置参数:docs.npmjs.com/misc/config…url
常见配置参数:spa
cache
%AppData%\npm-cache
,Posix:~/.npm
color
true
"always"
若是为 false
,永远不彩色打印,若是为 "always"
,永远彩色打印,若是为 true
,只彩色打印 tty file descriptors。
当环境变量 NO_COLOR
设置为任何值时,禁用彩色打印。
depth
Infinity
执行 npm ls
, npm cache ls
, npm outdated
命令时,递归目录的深度。
对于 npm outdated
时,Infinity
将会被视为 0
。想要检查多有包及其依赖包,须要使用一个大整数,例如:npm outdated --depth 9999
。
dry-run
false
若设置为 true
,npm 只报告要作什么,而不会付诸行动。
global
false
若设置为 true
,在 "global" 模式下执行命令:
{prefix}/lib/node_modules
目录而不是当前工做目录。{prefix}/bin
目录{prefix}/share/man
目录globalconfig
{prefix}/et/npmrc
https_proxy
null
long
执行 npm ls
和 npm search
打印详细信息。
node-version
false
检查 package.json 中的 engines
字段时使用的 node 版本号。
onload-script
false
npm 启动时 require()
的脚本。
optional
false
尝试安装 optionalDependencies
对象中的包,若是这些包安装失败,不阻碍其余包的安装。
package-lock
若是设为 false
,在 npm install
时忽略 package-lock.json。
当 package-locks 被禁用时,多余模块的自动裁剪也会被禁用。此时,移除多余模块要使用 npm prune
命令
parseable
false
让执行的命令输出可解析的结果。对于 npm search
,指定该选项将会以 tab
分隔的格式输出结果。
prefix
{prefix}/bin
目录下。全局包的安装位置。若是再命令行中指定,则在指定目录执行非全局命令。
production
false
设置为 true
时:
npm install
时,不会在项目的 node_modules
目录的的直接子目录中安装 devDependencies
中的包。NODE_ENV=production
。progress
true
, 除非已经过 TRAVIS 或 CI 环境变量设置.是否为时间敏感的操做显示进度条。
proxy
null
若是设置了 HTTP_PROXY
或 http_proxy
环境变量,底层请求库将使用代理设置。
registry
npm 源地址。
rollback
true
是否移除安装失败的包。
save
true
只在当前目录中存在 package.json 文件时有效。执行 npm install ...
时,将安装的包加入 dependencies
,执行 npm rm ...
时将删除的包从 dependencies
中移除。
save-dev
false
相似 save
参数,相应的 package.json 字段:devDependencies
。
save-optional
false
相似 save
参数,相应的 package.json 字段:optionalDependencies
。
save-exact
false
若是设置为 true
,使用 --save
,--save-dev
或 --save-optional
保存到 package.json 中的依赖包的会被配置为肯定的版本,而不使用 npm 默认的语义化版本范围符号(semver range operator)。
save-prefix
^
为使用 --save
,--save-dev
或 --save-optional
安装的依赖包指定版本号前缀。
例如,若是依赖包的版本为 1.2.3
,在 package.json 中该包的版本会被设置为 ^1.2.3
,这容许使用该包的 minor upgrades。若是将 save-prefix
设置为 ~
,在 package.json 中该包的版本会被设置为 ~1.2.3
,这容许使用该包的 patch upgrades。
script-shell
经过 npm run
命令执行脚本时使用的 shell.
searchlimit
npm search ...
结果数上限。
shell
SHELL
environment variable, or "bash"
on Posix, or "cmd"
on Windows执行 npm explore
命令时使用的 shell。
userconfig
~/.npmrc
version
若是设为 true
,输出 npm 版本。
versions
若是设为 true
,输出 npm 和 node 进程相关的版本信息。
npm config
(alias:npm c
) 命令能够用来更新和编辑用户和全局 npmrc 文件。
# 设置配置参数 key 的值为 value,若是省略 value,key 会被设置为 true
npm config set <key> <value> [-g|--global]
# 查看配置参数 key 的值
npm config get <key>
# 删除配置参数 key
npm config delete <key>
# 查看全部设置过的配置参数。使用 -l 查看全部设置过的以及默认的配置参数。使用 --json 以 json 格式查看。
npm config list [-l] [--json]
# 在编辑器中打开 npmrc 文件,使用 --global 参数打开全局 npmrc 文件。
npm config edit
# 同 npm config get <key>
npm get <key>
# 同 npm config set <key> <value> [-g|--global]
npm set <key> <value> [-g|--global]
复制代码