配置
关于 npm 配置,你可能想知道的更多- 描述
- 速记和其他 CLI 细节
- 每包配置设置
- 配置设置
- access
- allow-same-version
- always-auth
- also
- audit
- audit-level
- auth-type
- before
- bin-links
- browser
- ca
- cafile
- cache
- cache-lock-stale
- cache-lock-retries
- cache-lock-wait
- cache-max
- cache-min
- cert
- cidr
- color
- depth
- description
- dev
- dry-run
- editor
- engine-strict
- force
- format-package-lock
- fetch-retries
- fetch-retry-factor
- fetch-retry-mintimeout
- fetch-retry-maxtimeout
- fund
- git
- git-tag-version
- commit-hooks
- global
- globalconfig
- global-style
- group
- heading
- https-proxy
- if-present
- ignore-prepublish
- ignore-scripts
- init-module
- init-author-name
- init-author-email
- init-author-url
- init-license
- init-version
- json
- key
- legacy-bundling
- link
- local-address
- loglevel
- logstream
- logs-max
- long
- maxsockets
- message
- metrics-registry
- node-options
- node-version
- noproxy
- offline
- onload-script
- only
- optional
- otp
- package-lock
- package-lock-only
- parseable
- prefer-offline
- prefer-online
- prefix
- preid
- production
- progress
- proxy
- read-only
- rebuild-bundle
- 注册表
- rollback
- save
- save-bundle
- save-prod
- save-dev
- save-exact
- save-optional
- save-prefix
- scope
- script-shell
- scripts-prepend-node-path
- searchexclude
- searchopts
- searchlimit
- searchstaleness
- send-metrics
- shell
- shrinkwrap
- sign-git-commit
- sign-git-tag
- sso-poll-frequency
- sso-type
- strict-ssl
- tag
- tag-version-prefix
- timing
- tmp
- unicode
- unsafe-perm
- update-notifier
- usage
- user
- userconfig
- umask
- user-agent
- version
- versions
- viewer
- 也可以看看
Table of contents
- 描述
- 速记和其他 CLI 细节
- 每包配置设置
- 配置设置
- access
- allow-same-version
- always-auth
- also
- audit
- audit-level
- auth-type
- before
- bin-links
- browser
- ca
- cafile
- cache
- cache-lock-stale
- cache-lock-retries
- cache-lock-wait
- cache-max
- cache-min
- cert
- cidr
- color
- depth
- description
- dev
- dry-run
- editor
- engine-strict
- force
- format-package-lock
- fetch-retries
- fetch-retry-factor
- fetch-retry-mintimeout
- fetch-retry-maxtimeout
- fund
- git
- git-tag-version
- commit-hooks
- global
- globalconfig
- global-style
- group
- heading
- https-proxy
- if-present
- ignore-prepublish
- ignore-scripts
- init-module
- init-author-name
- init-author-email
- init-author-url
- init-license
- init-version
- json
- key
- legacy-bundling
- link
- local-address
- loglevel
- logstream
- logs-max
- long
- maxsockets
- message
- metrics-registry
- node-options
- node-version
- noproxy
- offline
- onload-script
- only
- optional
- otp
- package-lock
- package-lock-only
- parseable
- prefer-offline
- prefer-online
- prefix
- preid
- production
- progress
- proxy
- read-only
- rebuild-bundle
- 注册表
- rollback
- save
- save-bundle
- save-prod
- save-dev
- save-exact
- save-optional
- save-prefix
- scope
- script-shell
- scripts-prepend-node-path
- searchexclude
- searchopts
- searchlimit
- searchstaleness
- send-metrics
- shell
- shrinkwrap
- sign-git-commit
- sign-git-tag
- sso-poll-frequency
- sso-type
- strict-ssl
- tag
- tag-version-prefix
- timing
- tmp
- unicode
- unsafe-perm
- update-notifier
- usage
- user
- userconfig
- umask
- user-agent
- version
- versions
- viewer
- 也可以看看
描述
npm 从以下来源获取其配置值,按优先级排序:
命令行标志
将 --foo bar
放在命令行上会将 foo
配置参数设置为 "bar"
。 --
参数告诉 cli 解析器停止读取标志。 在不指定任何值的情况下使用 --flag
会将值设置为 true
。
示例: --flag1 --flag2
会将两个配置参数设置为 true
,而 --flag1 --flag2 bar
会将 flag1
设置为 true
,将 flag2
设置为 bar
。 最后,--flag1 --flag2 -- bar
将两个配置参数都设置为 true
,并将 bar
作为命令参数。
环境变量
任何以 npm_config_
开头的环境变量都将被解释为配置参数。 例如,将 npm_config_foo=bar
放入你的环境中会将 foo
配置参数设置为 bar
。 任何未赋值的环境配置都将被赋值为 true
。 配置值不区分大小写,因此 NPM_CONFIG_FOO=bar
的工作方式相同。 但是,请注意,在 scripts
内部,npm 将设置自己的环境变量,并且 Node 会更喜欢那些小写版本,而不是你可能设置的任何大写版本。
详情见 此问题。
请注意,你需要使用下划线而不是破折号,因此 --allow-same-version
将变为 npm_config_allow_same_version=true
。
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
)
有关详细信息,请参阅 npmrc。
默认配置
运行 npm config ls -l
以查看一组 npm 内部的配置参数,如果未指定其他参数,则为默认值。
速记和其他 CLI 细节
在命令行上解析以下简写:
-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
和la
命令:ls --long
如果指定的配置参数明确地解析为已知的配置参数,则将其扩展为该配置参数。 例如:
npm ls --par# same as:npm ls --parseable
如果多个单字符速记串在一起,并且生成的组合明确地不是某个其他配置参数,那么它会扩展为它的各个组成部分。 例如:
npm ls -gpld# same as:npm ls --global --parseable --long --loglevel info
每包配置设置
运行脚本时(参见 scripts
),如果存在 <name>[@<version>]:<key>
的配置参数,则 package.json "配置" 键在环境中被覆盖。 例如,如果 package.json 有这个:
{ "name" : "foo", "config" : { "port" : "8080" }, "scripts" : { "start" : "node server.js" } }
server.js 是这样的:
http.createServer(...).listen(process.env.npm_package_config_port)
然后用户可以通过执行以下操作来改变行为:
npm config set foo:port 80
有关详细信息,请参阅 package.json。
配置设置
access
- 默认值:
restricted
- 类型: 使用权
发布范围包时,访问级别默认为 restricted
。 如果你希望你的范围包可公开查看(和可安装),请设置 --access=public
。 access
的唯一有效值是 public
和 restricted
。 无范围的包始终具有 public
的访问级别。
allow-same-version
- 默认值: false
- 类型: 布尔值
防止在使用 npm version
将新版本设置为与当前版本相同的值时引发错误。
always-auth
- 默认值: false
- 类型: 布尔值
强制 npm 在访问注册表时始终要求身份验证,即使对于 GET
请求也是如此。
also
- 默认值: null
- 类型: 字符串
当 "dev" 或 "development" 并运行本地 npm shrinkwrap
、npm outdated
或 npm update
时,是 --dev
的别名。
audit
- 默认值: true
- 类型: 布尔值
当 "true" 与 npm install
一起提交审计报告时,会运行到默认注册表和为范围配置的所有注册表。 有关提交内容的详细信息,请参阅 npm audit
的文档。
audit-level
- 默认值:
"low"
- 类型:
'low'
,'moderate'
,'high'
,'critical'
npm audit
以非零退出代码退出的最低漏洞级别。
auth-type
- 默认值:
'legacy'
- 类型:
'legacy'
,'sso'
,'saml'
,'oauth'
adduser
/login
使用什么身份验证策略。
before
- 别名: 享受
- 默认值: null
- 类型: 日期
如果传递给 npm install
,将重建 npm 树,以便只安装 在或之前 和 --before
时间可用的版本。
如果当前的直接依赖集没有可用的版本,则该命令将出错。
如果请求的版本是 dist-tag
并且给定的标签没有通过 --before
过滤器,则将使用小于或等于该标签的最新版本。 例如,foo@latest
可能会安装 foo@1.2
,即使 latest
是 2.0
。
bin-links
- 默认值:
true
- 类型: 布尔值
告诉 npm 为包的可执行文件创建符号链接(或 Windows 上的 .cmd
垫片)。
设置为 false 使其不执行此操作。 这可以用来解决某些文件系统不支持符号链接的事实,即使在表面上是 Unix 系统上也是如此。
browser
- 默认值: OS X:
"open"
,Windows:"start"
、其他:"xdg-open"
- 类型: 字符串
npm docs
命令调用的浏览器打开网站。
ca
- 默认值: npm CA 证书
- 类型: 字符串、数组或 null
受信任的证书颁发机构签名证书,可用于与注册表的 SSL 连接。 值应采用 PEM 格式(Windows 将其称为 "Base-64 编码的 X.509 (.CER)"),并用字符串 "\n" 替换换行符。 例如:
ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
设置为 null
仅允许 "known" 注册商,或设置为特定 CA 证书以仅信任该特定签名机构。
通过指定证书数组可以信任多个 CA:
ca[]="..."ca[]="..."
另请参阅 strict-ssl
配置。
cafile
- 默认值:
null
- 类型: 路径
包含一个或多个证书颁发机构签名证书的文件的路径。 类似于 ca
设置,但允许多个 CA,以及将 CA 信息存储在磁盘上的文件中。
cache
- 默认值: Windows:
%AppData%\npm-cache
,Posix:~/.npm
- 类型: 路径
npm 的缓存目录的位置。 见 npm cache
cache-lock-stale
- 默认值: 60000(1 分钟)
- 类型: 数字
缓存文件夹锁定文件被视为过时之前的毫秒数。
cache-lock-retries
- 默认值: 10
- 类型: 数字
重试获取缓存文件夹锁定文件锁定的次数。
cache-lock-wait
- 默认值: 10000(10 秒)
- 类型: 数字
等待缓存锁定文件过期的毫秒数。
cache-max
- 默认值: 无穷
- 类型: 数字
DEPRECATED: 此选项已被 --prefer-online
弃用。
--cache-max=0
是 --prefer-online
的别名。
cache-min
- 默认值: 10
- 类型: 数字
DEPRECATED: 此选项已被 --prefer-offline
弃用。
--cache-min=9999 (or bigger)
是 --prefer-offline
的别名。
cert
- 默认值:
null
- 类型: 字符串
访问注册表时要通过的客户端证书。 值应采用 PEM 格式(Windows 将其称为 "Base-64 编码的 X.509 (.CER)"),并用字符串 "\n" 替换换行符。 例如:
cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
它不是证书文件的路径(并且没有 "certfile" 选项)。
cidr
- 默认值:
null
- 类型: 字符串,数组,null
这是使用 npm token create
命令配置受限访问令牌时要使用的 CIDR 地址列表。
color
- 默认值: true
- 类型: 布尔值或
"always"
如果为 false,则从不显示颜色。 如果 "always"
则始终显示颜色。
如果为真,则仅打印 tty 文件描述符的颜色代码。
也可以使用环境更改此选项: 当环境变量 NO_COLOR
设置为任何值时,颜色将被禁用。
depth
- 默认值: 无穷
- 类型: 数字
为 npm ls
、npm cache ls
和 npm outdated
递归目录时的深度。
对于 npm outdated
,Infinity
的设置将被视为 0
,因为它提供了更多有用的信息。 要显示所有包和依赖的过时状态,请使用大整数值,例如 npm outdated --depth 9999
description
- 默认值: true
- 类型: 布尔值
显示 npm search
中的描述
dev
- 默认值: false
- 类型: 布尔值
安装 dev-dependencies
和包。
dry-run
- 默认值: false
- 类型: 布尔值
表示你不希望 npm 进行任何更改,并且它应该只报告它会做的事情。 这可以传递到任何修改本地安装的命令中,例如,install
、update
、dedupe
、uninstall
。 某些网络相关命令目前不支持此功能,例如 dist-tags
、owner
等。
editor
- 默认值: 如果设置了
EDITOR
环境变量,或在 Posix 上为"vi"
,或在 Windows 上为"notepad"
。 - 类型: 路径
为 npm edit
或 npm config edit
运行的命令。
engine-strict
- 默认值: false
- 类型: 布尔值
如果设置为 true,那么 npm 将顽固地拒绝安装(甚至考虑安装)任何声称与当前 Node.js 版本不兼容的包。
force
- 默认值: false
- 类型: 布尔值
使各种命令更加有力。
- 生命周期脚本失败不会阻止进度。
- 发布 clobbers 以前发布的版本。
- 从注册表请求时跳过缓存。
- 防止检查破坏非 npm 文件。
format-package-lock
- 默认值: true
- 类型: 布尔值
将 package-lock.json
或 npm-shrinkwrap.json
格式化为人类可读的文件。
fetch-retries
- 默认值: 2 * 类型: 数字
从注册表获取包时要使用的 retry
模块的 "retries" 配置。
fetch-retry-factor
- 默认值: 10
- 类型: 数字
获取包时要使用的 retry
模块的 "factor" 配置。
fetch-retry-mintimeout
- 默认值: 10000(10 秒)
- 类型: 数字
获取包时要使用的 retry
模块的 "minTimeout" 配置。
fetch-retry-maxtimeout
- 默认值: 60000(1 分钟)
- 类型: 数字
获取包时要使用的 retry
模块的 "maxTimeout" 配置。
fund
- 默认值: true
- 类型: 布尔值
当 "true" 在每个 npm install
的末尾显示消息时,确认正在寻找资金的依赖的数量。
详见 npm fund
。
git
- 默认值:
"git"
- 类型: 字符串
用于 git 命令的命令。 如果计算机上安装了 git,但不在 PATH
中,则将其设置为 git 二进制文件的完整路径。
git-tag-version
- 默认值:
true
- 类型: 布尔值
使用 npm version
命令时标记提交。
commit-hooks
- 默认值:
true
- 类型: 布尔值
使用 npm version
命令时运行 git commit hooks。
global
- 默认值: false
- 类型: 布尔值
在 "global" 模式下运行,以便将包安装到 prefix
文件夹而不是当前工作目录。 有关行为差异的更多信息,请参见 文件夹。
- 包安装到
{prefix}/lib/node_modules
文件夹,而不是当前工作目录。 - bin 文件链接到
{prefix}/bin
- 手册页链接到
{prefix}/share/man
globalconfig
- 默认值: {prefix}/etc/npmrc
- 类型: 路径
为全局配置选项读取的配置文件。
global-style
- 默认值: false
- 类型: 布尔值
使 npm 以与全局 node_modules
文件夹相同的布局将包安装到本地 node_modules
文件夹中。 只有你的直接依赖将显示在 node_modules
中,并且它们所依赖的所有内容都将展平在它们的 node_modules
文件夹中。 这显然会消除一些数据去重。 如果与 legacy-bundling
一起使用,则首选 legacy-bundling
。
group
- 默认值: 当前进程的 GID
- 类型: 字符串或数字
以 root 用户身份在全局模式下运行包脚本时使用的组。
heading
- 默认值:
"npm"
- 类型: 字符串
启动所有调试日志输出的字符串。
https-proxy
- 默认值: null
- 类型: 网址
用于传出 https 请求的代理。 如果设置了 HTTPS_PROXY
或 https_proxy
或 HTTP_PROXY
或 http_proxy
环境变量,则底层 request
库将遵循代理设置。
if-present
- 默认值: false
- 类型: 布尔值
如果为 true,当为 package.json
的 scripts
部分中未定义的脚本调用 run-script
时,npm 将不会退出并返回错误代码。 当需要在脚本存在时选择性地运行脚本并在脚本失败时运行失败时,可以使用此选项。 这很有用,例如,在运行可能仅适用于其他通用 CI 设置中的某些构建的脚本时。
ignore-prepublish
- 默认值: false
- 类型: 布尔值
如果为 true,npm 将不会运行 prepublish
脚本。
ignore-scripts
- 默认值: false
- 类型: 布尔值
如果为 true,npm 不会运行 package.json 文件中指定的脚本。
init-module
- 默认值: ~/.npm-init.js
- 类型: 路径
将由 npm init
命令加载的模块。 有关详细信息,请参阅 init-package-json 模块的文档或 npm init。
init-author-name
- 默认值: ""
- 类型: 字符串
默认情况下,应该使用值 npm init
作为包作者的名称。
init-author-email
- 默认值: ""
- 类型: 字符串
默认情况下,值 npm init
应用于包作者的电子邮件。
init-author-url
- 默认值: ""
- 类型: 字符串
默认情况下,包作者的主页应使用值 npm init
。
init-license
- 默认值: "ISC"
- 类型: 字符串
默认情况下,值 npm init
应用于包许可证。
init-version
- 默认值: "1.0.0"
- 类型: semver
如果 package.json 中尚未设置,npm init
应该默认使用的值作为包版本号。
json
- 默认值: false
- 类型: 布尔值
是否输出 JSON 数据,而不是正常输出。
此功能目前处于试验阶段,许多命令的输出数据结构要么尚未在 JSON 中实现,要么可能会发生变化。 目前只有 npm ls --json
和 npm search --json
的输出有效。
key
- 默认值:
null
- 类型: 字符串
访问注册表时要传递的客户端密钥。 值应采用 PEM 格式,并用字符串 "\n" 替换换行符。 例如:
key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"
它不是密钥文件的路径(并且没有 "keyfile" 选项)。
legacy-bundling
- 默认值: false
- 类型: 布尔值
使 npm 安装包,以便 1.4 之前的 npm 版本(例如 node 0.8 中包含的版本)可以安装包。 这消除了所有自动数据去重。 如果与 global-style
一起使用,则首选此选项。
link
- 默认值: false
- 类型: 布尔值
如果为 true,则如果有合适的全局安装包,本地安装将链接。
请注意,这意味着本地安装可能会导致将事物同时安装到全局空间中。 仅当满足以下两个条件之一时才完成链接:
- 该包尚未全局安装,或者
- 全局安装的版本与本地安装的版本相同。
local-address
- 默认值: undefined
- 类型: IP 地址
连接到 npm 注册表时使用的本地接口的 IP 地址。 在 0.12 之前的 Node 版本中必须是 IPv4。
loglevel
- 默认值: "notice"
- 类型: 字符串
- 值: "silent", "错误", "warn", "notice", "http", "timing", "info", "verbose", "silly"
要报告的日志级别。 失败时,所有日志都写入当前工作目录中的 npm-debug.log
。
显示比设置更高级别的任何日志。 默认值为 "notice"。
logstream
- 默认值: process.stderr
- 类型: 流
这是在运行时传递给 npmlog 模块的流。
它不能从命令行设置,但如果你以编程方式使用 npm,你可能希望将日志发送到 stderr 以外的其他地方。
如果 color
配置设置为 true,则此流将接收彩色输出(如果它是 TTY)。
logs-max
- 默认值: 10
- 类型: 数字
要存储的最大日志文件数。
long
- 默认值: false
- 类型: 布尔值
在 npm ls
和 npm search
中显示扩展信息。
maxsockets
- 默认值: 50
- 类型: 数字
每个源使用的最大连接数(协议/主机/端口组合)。 传递给用于发出请求的 http
Agent
。
message
- 默认值: "%s"
- 类型: 字符串
npm version
在创建版本提交时使用的提交消息。
消息中的任何 "%s" 都将替换为版本号。
metrics-registry
- 默认值:
registry
的值(默认为 "https://registry.npmjs.org/") - 类型: 字符串
如果 send-metrics
为真,你希望将 cli 指标发送到的注册表。
node-options
- 默认值: null
- 类型: 字符串
通过 NODE_OPTIONS
环境变量传递给 Node.js 的选项。 这不会影响 npm 本身的执行方式,但会影响生命周期脚本的调用方式。
node-version
- 默认值: process.version
- 类型: semver 或 false
检查包的 engines
映射时使用的 node 版本。
noproxy
- 默认值: null
- 类型: 字符串或数组
不应使用代理的逗号分隔字符串或域扩展数组。
offline
- 默认值: false
- 类型: 布尔值
强制离线模式: 安装期间不会完成任何网络请求。 要允许 CLI 填充缺失的缓存数据,请参阅 --prefer-offline
。
onload-script
- 默认值: false
- 类型: 路径
npm 加载时到 require()
的 node 模块。 对编程使用很有用。
only
- 默认值: null
- 类型: 字符串
当 "dev" 或 "development" 并在没有任何参数的情况下运行本地 npm install
时,仅安装 devDependencies(及其依赖)。
当 "dev" 或 "development" 并运行本地 npm ls
、npm outdated
或 npm update
时,是 --dev
的别名。
当 "prod" 或 "production" 并在没有任何参数的情况下运行本地 npm install
时,仅安装非 devDependencies(及其依赖)。
当 "prod" 或 "production" 并运行本地 npm ls
、npm outdated
或 npm update
时,是 --production
的别名。
optional
- 默认值: true
- 类型: 布尔值
尝试在 optionalDependencies
对象中安装包。 请注意,如果这些包安装失败,整个安装过程不会中止。
otp
- 默认值: null
- 类型: 数字
这是来自双重身份验证器的一次性密码。 使用 npm access
发布或更改包权限时需要它。
package-lock
- 默认值: true
- 类型: 布尔值
如果设置为 false,则安装时忽略 package-lock.json
文件。 如果 save
为真,这也将阻止写入 package-lock.json
。
当 package package-locks 被禁用时,无关模块的自动修剪也将被禁用。 要删除禁用包锁的无关模块,请使用 npm prune
。
此选项是 --shrinkwrap
的别名。
package-lock-only
- 默认值: false
- 类型: 布尔值
如果设置为 true,它将仅更新 package-lock.json
,而不是检查 node_modules
并下载依赖。
parseable
- 默认值: false
- 类型: 布尔值
从写入标准输出的命令输出可解析的结果。 对于 npm search
,这将是制表符分隔的表格格式。
prefer-offline
- 默认值: false
- 类型: 布尔值
如果为 true,将绕过缓存数据的过时检查,但将从服务器请求丢失的数据。 要强制完全离线模式,请使用 --offline
。
此选项实际上等效于 --cache-min=9999999
。
prefer-online
- 默认值: false
- 类型: 布尔值
如果为 true,将强制检查缓存数据的时效性,使 CLI 立即查找更新,即使是新的包数据也是如此。
prefix
- 默认值: 见 文件夹
- 类型: 路径
安装全局项目的位置。 如果在命令行上设置,则强制非全局命令在指定文件夹中运行。
preid
- 默认值: ""
- 类型: 字符串
"预发布标识符" 用作 semver 的 "prerelease" 部分的前缀。 就像 1.2.0-rc.8
中的 rc
。
production
- 默认值: false
- 类型: 布尔值
设置为 true 以在 "production" 模式下运行。
- 在没有任何参数的情况下运行本地
npm install
时,不会在最顶层安装 devDependencies。 - 为生命周期脚本设置 NODE_ENV="production"。
progress
- 默认值: true,除非设置了 TRAVIS 或 CI 环境变量。
- 类型: 布尔值
当设置为 true
时,如果 process.stderr
是 TTY,npm 将在时间密集型操作期间显示进度条。
设置为 false
以抑制进度条。
proxy
- 默认值: null
- 类型: 网址
用于传出 http 请求的代理。 如果设置了 HTTP_PROXY
或 http_proxy
环境变量,则底层 request
库将遵循代理设置。
read-only
- 默认值: false
- 类型: 布尔值
这用于在使用 npm token create
命令配置受限访问令牌时将令牌标记为无法发布。
rebuild-bundle
- 默认值: true
- 类型: 布尔值
安装后重建打包的依赖。
注册表
- 默认值: https://registry.npmjs.org/
- 类型: 网址
npm 包注册表的基本 URL。
rollback
- 默认值: true
- 类型: 布尔值
删除失败的安装。
save
- 默认值: true
- 类型: 布尔值
将已安装的包作为依赖保存到 package.json 文件中。
当与 npm rm
命令一起使用时,它会将其从 dependencies
对象中删除。
仅当已经存在 package.json 文件时才有效。
save-bundle
- 默认值: false
- 类型: 布尔值
如果在安装时使用 --save
、--save-dev
或 --save-optional
保存一个包,那么也将它放在 bundleDependencies
列表中。
当与 npm rm
命令一起使用时,它会将其从 bundledDependencies 列表中删除。
save-prod
- 默认值: false
- 类型: 布尔值
确保将一个包专门保存到 dependencies
中。 如果包已存在于 devDependencies
或 optionalDependencies
中,但你想将其移动为生产部门,这将非常有用。 如果 --save
为真,并且 --save-dev
或 --save-optional
都不为真,这也是默认行为。
save-dev
- 默认值: false
- 类型: 布尔值
将已安装的包保存到 package.json 文件中,名称为 devDependencies
。
当与 npm rm
命令一起使用时,它会将其从 devDependencies
对象中删除。
仅当已经存在 package.json 文件时才有效。
save-exact
- 默认值: false
- 类型: 布尔值
使用 --save
、--save-dev
或 --save-optional
保存到 package.json 的依赖将配置一个确切的版本,而不是使用 npm 的默认 semver 范围运算符。
save-optional
- 默认值: false
- 类型: 布尔值
将已安装的包保存到 package.json 文件中作为 optionalDependencies。
当与 npm rm
命令一起使用时,它会将其从 devDependencies
对象中删除。
仅当已经存在 package.json 文件时才有效。
save-prefix
- 默认值: '^* 类型: 字符串
配置通过 --save
或 --save-dev
安装到 package.json 文件的包版本如何获得前缀。
例如,如果一个包的版本为 1.2.3
,默认情况下其版本设置为 ^1.2.3
,允许对该包进行小幅升级,但在 npm config set save-prefix='~'
之后,它将设置为 ~1.2.3
,仅允许补丁升级。
scope
- 默认值: 当前项目的范围(如果有)或 ""
- 类型: 字符串
将操作与范围注册表的作用域相关联。 首次登录私有注册表时有用:
npm login --scope=@organization --registry=registry.organization.com
,这将导致 @organization
映射到注册表,以便将来安装根据模式 @organization/package
指定的包。
script-shell
- 默认值:
null
- 类型: 路径
用于脚本的 shell 与 npm run
命令一起运行。
scripts-prepend-node-path
- 默认值: "warn-only"
- 类型: 布尔值,
"auto"
或"warn-only"
如果设置为 true
,则在运行脚本时将当前 node
可执行文件所在的目录添加到 PATH
环境变量中,即使这意味着 npm
将调用与其正在运行的可执行文件不同的 node
可执行文件。
如果设置为 false
,则永远不要修改 PATH
。
如果设置为 "warn-only"
,则永远不要修改 PATH
,但如果 npm
认为你可能希望使用 true
运行它,则打印警告,例如因为 PATH
中的 node
可执行文件不是调用 npm
的那个。
如果设置为 auto
,则仅当调用 npm
的 node
可执行文件与在 PATH
上首先找到的可执行文件不同时,才将该目录添加到 PATH
环境变量中。
searchexclude
- 默认值: ""
- 类型: 字符串
限制搜索结果的空格分隔选项。
searchopts
- 默认值: ""
- 类型: 字符串
始终传递给搜索的空格分隔选项。
searchlimit
- 默认值: 20
- 类型: 数字
限制搜索结果的项目数。 完全不适用于旧版搜索。
searchstaleness
- 默认值: 900(15 分钟)
- 类型: 数字
如果使用旧版搜索端点,则在发出另一个注册表请求之前缓存的年龄(以秒为单位)。
send-metrics
- 默认值: false
- 类型: 布尔值
如果为真,成功/失败指标将报告给存储在 metrics-registry
中的注册表。 这些请求包含 npm CLI 的成功和失败运行次数以及收集这些计数的时间段。 这些请求中不包含任何识别信息。
shell
- 默认值: SHELL 环境变量,或 Posix 上的 "bash",或 Windows 上的 "cmd"
- 类型: 路径
为 npm explore
命令运行的 shell。
shrinkwrap
- 默认值: true
- 类型: 布尔值
如果设置为 false,则安装时忽略 npm-shrinkwrap.json
文件。 如果 save
为真,这也将阻止写入 npm-shrinkwrap.json
。
此选项是 --package-lock
的别名。
sign-git-commit
- 默认值: false
- 类型: 布尔值
如果设置为 true,则 npm version
命令将使用 -S
提交新的包版本以添加签名。
请注意,git 要求你在 git 配置中设置 GPG 密钥才能正常工作。
sign-git-tag
- 默认值: false
- 类型: 布尔值
如果设置为 true,则 npm version
命令将使用 -s
标记版本以添加签名。
请注意,git 要求你在 git 配置中设置 GPG 密钥才能正常工作。
sso-poll-frequency
- 默认值: 500
- 类型: 数字
与启用 SSO 的 auth-type
一起使用时,配置在用户完成身份验证时轮询注册表的频率。
sso-type
- 默认值: 'oauth'
- 类型: 'oauth'、 'saml' 或空
如果为 --auth-type=sso
,则为要使用的 SSO 类型的类型。
strict-ssl
- 默认值: true
- 类型: 布尔值
通过 https 向注册表发出请求时是否进行 SSL 密钥验证。
另请参阅 ca
配置。
tag
- 默认值: 最新的
- 类型: 字符串
如果你让 npm 安装一个包并且没有告诉它一个特定的版本,那么它会安装指定的标签。
如果没有给出显式标记,则还有添加到 npm
tag
命令指定的 package@version 的标记。
tag-version-prefix
- 默认值:
"v"
- 类型: 字符串
如果设置,则在使用 npm-version
执行版本增量时更改标记新版本时使用的前缀。 要完全删除前缀,请将其设置为空字符串: ""
。
因为其他工具可能依赖于 npm 版本标签看起来像 v1.0.0
的约定,所以只有在绝对必要时才使用这个属性。 特别是,在为公共包覆盖此设置时要小心。
timing
- 默认值:
false
- 类型: 布尔值
如果为 true,则将 npm-debug
日志写入 _logs
并将计时信息写入 _timing.json
,两者都在你的缓存中。 _timing.json
是 JSON 对象的换行符分隔列表。 你可以使用此 json 命令行快速查看它:
json -g < ~/.npm/_timing.json
。
tmp
- 默认值: TMPDIR 环境变量,或 "/tmp"
- 类型: 路径
存储临时文件和文件夹的位置。 所有临时文件在成功时都会被删除,但在失败时会留下以供取证。
unicode
- 默认值: 在 Windows 上为 false,在具有 unicode 语言环境的 mac/unix 系统上为 true
- 类型: 布尔值
当设置为 true 时,npm 在树输出中使用 unicode 字符。 当为 false 时,它使用 ascii 字符来绘制树。
unsafe-perm
- 默认值: 如果以 root 身份运行则为 false,否则为 true
- 类型: 布尔值
设置为 true 以在运行包脚本时抑制 UID/GID 切换。 如果显式设置为 false,则以非 root 用户身份安装将失败。
update-notifier
- 默认值: true
- 类型: 布尔值
设置为 false 以在使用比最新版本更旧的 npm 时抑制更新通知。
usage
- 默认值: false
- 类型: 布尔值
设置为在执行 npm help
时显示简短的使用输出(如 -H 输出)而不是完整的帮助。
user
- 默认值: "nobody"
- 类型: 字符串或数字
以 root 身份运行包脚本时要设置的 UID。
userconfig
- 默认值: ~/.npmrc
- 类型: 路径
用户级配置设置的位置。
umask
- 默认值: 022
- 类型: 0000..0777 (0..511) 范围内的八进制数字字符串
设置文件和文件夹的文件创建模式时使用的 "umask" 值。
文件夹和可执行文件被赋予一个模式,该模式被 0777
屏蔽该值。 其他文件的模式是 0666
屏蔽此值。 因此,默认值分别为 0755
和 0644
。
user-agent
- 默认值: node/{process.version} {process.platform} {process.arch}
- 类型: 字符串
将 User-Agent 设置为请求标头
version
- 默认值: false
- 类型: 布尔值
如果为 true,则输出 npm 版本并成功退出。
仅在命令行上明确指定时才相关。
versions
- 默认值: false
- 类型: 布尔值
如果为 true,则输出 npm 版本以及 node 的 process.versions
映射,并成功退出。
仅在命令行上明确指定时才相关。
viewer
- 默认值: Posix 上的 "man",Windows 上的 "browser"
- 类型: 路径
用于查看帮助内容的程序。
设置为 "browser"
以在默认 Web 浏览器中查看 html 帮助内容。