Skip to content

描述

npm 从以下来源获取其配置值,按优先级排序:

command-line-flags

放在--foo bar命令行上将foo配置参数设置为"bar"。参数--告诉 cli 解析器停止读取标志。在不指定任何值的情况下使用--flag会将值设置为true

示例:--flag1 --flag2将两个配置参数设置为true、同时--flag1 --flag2 bar将设置flag1trueflag2bar。最后,--flag1 --flag2 -- bar将两个配置参数设置为true,并将bar视为命令参数。

environment-variables

任何以 开头的环境变量都npm_config_将被解释为配置参数。例如,放入npm_config_foo=bar您的环境中会将foo配置参数设置为bar. 任何未指定值的环境配置都将指定为 的值true。配置值不区分大小写,因此NPM_CONFIG_FOO=bar工作原理相同。但是,请注意,scripts

请注意,您需要使用下划线而不是破折号,因此--allow-same-version将变成npm_config_allow_same_version=true.

npmrc-files

四个相关文件是:

  • 每个项目的配置文件 ( /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 。

default-configs

运行npm config ls -l以查看 npm 内部的一组配置参数,如果未指定其他参数,则这些参数为默认值。

shorthands-and-other-cli-niceties

在命令行上解析以下简写:

  • -a--all
  • --enjoy-by--before
  • -c--call
  • --desc--description
  • -f--force
  • -g--global
  • -L--location
  • -d--loglevel info
  • -s--loglevel silent
  • --silent--loglevel silent
  • --ddd--loglevel silly
  • --dd--loglevel verbose
  • --verbose--loglevel verbose
  • -q--loglevel warn
  • --quiet--loglevel warn
  • -l--long
  • -m--message
  • --local--no-global
  • -n--no-yes
  • --no--no-yes
  • -p--parseable
  • --porcelain--parseable
  • -C--prefix
  • --readonly--read-only
  • --reg--registry
  • -S--save
  • -B--save-bundle
  • -D--save-dev
  • -E--save-exact
  • -O--save-optional
  • -P--save-prod
  • -?--usage
  • -h--usage
  • -H--usage
  • --help--usage
  • -v--version
  • -w--workspace
  • --ws--workspaces
  • -y--yes

如果指定的配置参数明确解析为已知的配置参数,则它将扩展为该配置参数。例如:

bash
npm ls --par
# same as:
npm ls --parseable
npm ls --par
# same as:
npm ls --parseable

如果多个单字符简写串在一起,并且得到的组合明确不是其他配置参数,那么它就会扩展到其各个组成部分。例如:

bash
npm ls -gpld
# same as:
npm ls --global --parseable --long --loglevel info
npm ls -gpld
# same as:
npm ls --global --parseable --long --loglevel info

config-settings

_auth

  • 默认值:空
  • 类型:null 或 String

根据 npm 注册表进行身份验证时使用的基本身份验证字符串。

警告:通常不应通过命令行选项设置。通过运行 来使用存储在 ~/.npmrc 文件中的注册表提供的身份验证承载令牌更安全npm login

access

  • 默认值:“restricted”适用于有作用域的包,“public”适用于无作用域的包
  • 类型:null、“受限”或“公共”

发布作用域包时,访问级别默认为restricted. 如果您希望您的作用域包可供公开查看(和安装),请设置--access=public. 唯一有效的值为accesspublicrestricted无范围包的访问级别始终public.

注意:在命令--access上使用标志npm publish只会在包的初始发布时设置包访问级别。使用该标志的任何后续npm publish命令都--access不会影响访问级别。要在初始发布使用后更改访问级别npm access

all

  • 默认值:假
  • 类型:布尔值

运行npm outdated和时npm ls,设置--all将显示所有过时或已安装的软件包,而不仅仅是当前项目直接依赖的软件包。

allow-same-version

  • 默认值:假
  • 类型:布尔值

npm version防止在用于将新版本设置为与当前版本相同的值时引发错误。

audit

  • 默认值:true
  • 类型:布尔值

当“true”时,将审核报告与当前 npm 命令一起提交到默认注册表和为范围配置的所有注册表。npm audit有关提交内容的详细信息,请参阅文档。

audit-level

  • 默认值:空
  • 类型:null、“信息”、“低”、“中等”、“高”、“严重”或“无”

npm audit以非零退出代码退出的最低漏洞级别。

before

  • 默认值:空
  • 类型:空或日期

如果传递给npm install,将重建 npm 树,以便仅安装该时间或之前可用的版本。--before如果当前的直接依赖项集没有可用的版本,则该命令将出错。

如果请求的版本是 adist-tag并且给定的标签未通过--before过滤器,则将使用小于或等于该标签的最新版本。例如,即使是也foo@latest可能安装。foo@1.2``latest``2.0

  • 默认值:true
  • 类型:布尔值

告诉 npm 为包可执行文件创建符号链接(或.cmdWindows 上的垫片)。

设置为 false 以使其不执行此操作。这可以用来解决某些文件系统不支持符号链接的问题,即使在表面上的 Unix 系统上也是如此。

browser

  • 默认:OS X:"open"、Windows:"start"、其他:"xdg-open"
  • 类型:null、布尔值或字符串

npm 命令调用的浏览器来打开网站。

设置false为抑制浏览器行为,而是将 URL 打印到终端。

设置true为使用默认系统 URL 打开程序。

ca

  • 默认值:空
  • 类型:null或String(可设置多次)

与注册表的 SSL 连接受信任的证书颁发机构签名证书。值应采用 PEM 格式(Windows 称之为“Base-64 编码的 X.509 (.CER)”),并用字符串“\n”替换换行符。例如:

ini
ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

设置为null仅允许“已知”注册商,或设置为仅信任该特定签名机构的特定 CA 证书。

通过指定证书数组可以信任多个 CA:

ini
ca[]="..."
ca[]="..."
ca[]="..."
ca[]="..."

另请参阅strict-ssl配置。

cache

  • 默认:Windows:%LocalAppData%\npm-cache、Posix:~/.npm
  • 类型:路径

npm 缓存目录的位置。看npm cache

cafile

  • 默认值:空
  • 类型:路径

包含一个或多个证书颁发机构签名证书的文件的路径。与设置类似ca,但允许多个 CA,以及将 CA 信息存储在磁盘上的文件中。

call

  • 默认: ””
  • 类型:字符串

的可选配套选项npm execnpx允许指定与已安装的软件包一起运行的自定义命令。

bash
npm exec --package yo --package generator-node --call "yo node"
npm exec --package yo --package generator-node --call "yo node"

cert

  • 默认值:空
  • 类型:null 或 String

访问注册表时要传递的客户端证书。值应采用 PEM 格式(Windows 称之为“Base-64 编码的 X.509 (.CER)”),并用字符串“\n”替换换行符。例如:

ini
cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

它不是证书文件的路径(并且没有“certfile”选项)。

ci-name

  • 默认值:当前 CI 系统的名称,或者null不在已知 CI 平台上时的名称。
  • 类型:null 或 String

持续集成系统的名称。如果没有明确设置,npm 将使用该模块检测当前的 CI 环境@npmcli/ci-detect

cidr

  • 默认值:空
  • 类型:null或String(可设置多次)

这是使用命令配置受限访问令牌时要使用的 CIDR 地址列表npm token create

color

  • 默认值:true,除非 NO_COLOR 环境设置为“0”以外的其他值
  • 类型:“始终”或布尔值

如果为 false,则永远不会显示颜色。如果"always"那么总是显示颜色。如果为 true,则仅打印 tty 文件描述符的颜色代码。

commit-hooks

  • 默认值:true
  • 类型:布尔值

使用npm version命令时运行 git commit hooks。

depth

  • 默认值:Infinity如果--all设置,否则1
  • 类型:空或数字

递归包时的深度npm ls

如果未设置,npm ls将仅显示根项目的直接依赖项。如果--all设置了,npm 将默认显示所有依赖项。

description-1

  • 默认值:true
  • 类型:布尔值

显示描述于npm search

diff

  • 默认:
  • 类型:String(可设置多次)

定义要在 中进行比较的参数npm diff

diff-dst-prefix

  • 默认值:“b/”
  • 类型:字符串

输出中使用的目标前缀npm diff

diff-ignore-all-space

  • 默认值:假
  • 类型:布尔值

比较 中的行时忽略空格npm diff

diff-name-only

  • 默认值:假
  • 类型:布尔值

使用 时仅打印文件名npm diff

diff-no-prefix

  • 默认值:假
  • 类型:布尔值

不要在npm diff输出中显示任何源或目标前缀。

注意:这会导致npm diff忽略--diff-src-prefix--diff-dst-prefix配置。

diff-src-prefix

  • 默认值:“a/”
  • 类型:字符串

输出中使用的源前缀npm diff

diff-text

  • 默认值:假
  • 类型:布尔值

将所有文件视为npm diff.

diff-unified

  • 默认值:3
  • 类型:数字

要在 中打印的上下文行数npm diff

dry-run

  • 默认值:假
  • 类型:布尔值

表示您不希望 npm 进行任何更改,并且它应该只报告它会执行的操作。这可以传递到任何修改本地安装的命令中,例如installupdatededupeuninstall以及packpublish

注意:其他网络相关命令不支持这一点,例如dist-tagsowner等。

editor

  • 默认值:EDITOR 或 VISUAL 环境变量,或 Windows 上的“notepad.exe”,或 Unix 系统上的“vim”
  • 类型:字符串

npm edit为和运行的命令npm config edit

engine-strict

  • 默认值:假
  • 类型:布尔值

如果设置为 true,那么 npm 将顽固地拒绝安装(甚至考虑安装)任何声称与当前 Node.js 版本不兼容的包。

这可以通过设置--force标志来覆盖。

fetch-retries

  • 默认值:2
  • 类型:数字

retry从注册表获取包时要使用的模块的“重试”配置。

在网络故障或 5xx HTTP 错误的情况下,npm 将重试对注册表的幂等读取请求。

fetch-retry-factor

  • 默认值:10
  • 类型:数字

retry获取包时模块使用的“因素”配置。

fetch-retry-maxtimeout

  • 默认值:60000(1 分钟)
  • 类型:数字

retry获取包时模块使用的“maxTimeout”配置。

fetch-retry-mintimeout

  • 默认值:10000(10 秒)
  • 类型:数字

retry获取包时模块使用的“minTimeout”配置。

fetch-timeout

  • 默认值:300000(5 分钟)
  • 类型:数字

等待 HTTP 请求完成的最长时间。

force

  • 默认值:假
  • 类型:布尔值

删除针对不幸的副作用、常见错误、不必要的性能下降和恶意输入的各种保护措施。

  • 允许在全局安装中破坏非 npm 文件。
  • 允许该npm version命令在不干净的 git 存储库上运行。
  • 允许删除缓存文件夹npm cache clean
  • engines允许安装具有需要不同版本 npm 的声明的软件包。
  • 即使已启用,也允许安装engines具有需要不同版本的声明的软件包。node``--engine-strict
  • 允许npm audit fix安装超出指定依赖范围的模块(包括 SemVer 重大更改)。
  • 允许取消发布已发布包的所有版本。
  • 允许在根项目中安装冲突的peerDependency。
  • --yes在 期间隐式设置npm init
  • 允许破坏现有值npm pkg

如果您不清楚自己要做什么,强烈建议您不要使用此选项!

foreground-scripts

  • 默认值:假
  • 类型:布尔值

在前台进程中运行已安装软件包的所有构建脚本(即 、preinstallinstall) ,与主 npm 进程共享标准输入、输出和错误。postinstall

请注意,这通常会使安装运行速度变慢,并且噪音更大,但对于调试很有用。

format-package-lock

  • 默认值:true
  • 类型:布尔值

格式化package-lock.jsonnpm-shrinkwrap.json作为人类可读的文件。

fund

  • 默认值:true
  • 类型:布尔值

当“true”时,会在每个消息末尾显示消息npm install,确认寻求资金的依赖项的数量。npm fund详情请参阅。

git

  • 默认值:“git”
  • 类型:字符串

用于 git 命令的命令。如果 git 安装在计算机上,但不在 中PATH,则将其设置为 git 二进制文件的完整路径。

git-tag-version

  • 默认值:true
  • 类型:布尔值

使用命令时标记提交npm version

global

  • 默认值:假
  • 类型:布尔值

在“全局”模式下运行,以便将包安装到该prefix文件夹而不是当前工作目录中。有关行为差异的更多信息,请参阅文件夹。

  • 软件包将安装到该{prefix}/lib/node_modules文件夹中,而不是当前工作目录中。
  • bin 文件链接到{prefix}/bin
  • 手册页链接到{prefix}/share/man

global-style

  • 默认值:假
  • 类型:布尔值

使 npm 将包安装到本地node_modules文件夹中,其布局与全局文件夹使用的布局相同node_modules。只有您的直接依赖项才会显示,node_modules并且它们依赖的所有内容都将在其node_modules文件夹中展平。这显然会消除一些重复数据删除。如果与 一起使用legacy-bundlinglegacy-bundling将是首选。

globalconfig

  • 默认值:全局 --prefix 设置加上“etc/npmrc”。例如,“/usr/local/etc/npmrc”
  • 类型:路径

要读取全局配置选项的配置文件。

heading

  • 默认值:“npm”
  • 类型:字符串

启动所有调试日志输出的字符串。

https-proxy

  • 默认值:空
  • 类型:null 或 URL

用于传出 https 请求的代理。如果设置了HTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy环境变量,底层库将遵循代理设置make-fetch-happen

if-present

  • 默认值:假
  • 类型:布尔值

run-script如果为 true,则当为未在scripts部分中定义的脚本调用npm 时,npm 将不会退出并显示错误代码package.json。当需要在脚本存在时选择性地运行脚本并在脚本失败时运行失败时,可以使用此选项。例如,当运行可能仅适用于其他通用 CI 设置中的某些构建的脚本时,这很有用。

ignore-scripts

  • 默认值:假
  • 类型:布尔值

如果为 true,npm 不会运行 package.json 文件中指定的脚本。

请注意,明确旨在运行特定脚本的命令,例如npm startnpm stopnpm restartnpm test、 和如果设置了,npm run-script仍将运行其预期脚本,但它们不会运行任何前置或后置脚本。ignore-scripts

include

  • 默认:
  • 类型:“prod”、“dev”、“可选”或“peer”(可以设置多次)

允许定义要安装的依赖项类型的选项。

这是 的逆--omit=<type>

--include无论在命令行上指定省略/包含的顺序如何,都不会省略 中指定的依赖关系类型。

include-staged

  • 默认值:假
  • 类型:布尔值

允许安装“暂存”已发布的软件包,如npm RFC PR #92所定义。

这是实验性的,npm 公共注册表尚未实现。

init-author-email

  • 默认: ””
  • 类型:字符串

默认情况下,该值npm init应用于包作者的电子邮件。

init-author-name

  • 默认: ””
  • 类型:字符串

默认情况下,该值npm init应用于包作者的姓名。

init-author-url

  • 默认: ””
  • 输入:“”或 URL

默认情况下,该值npm init应用于包作者的主页。

init-license

  • 默认值:“ISC”
  • 类型:字符串

该值npm init应默认用于包许可证。

init-module

  • 默认值:“~/.npm-init.js”
  • 类型:路径

将由npm init命令加载的模块。有关更多信息,请参阅init-package-json模块的文档,或npm init

init-version

  • 默认值:“1.0.0”
  • 类型:SemVer 字符串

默认情况下应用于包版本号的值npm init(如果尚未在 package.json 中设置)。

json

  • 默认值:假
  • 类型:布尔值

是否输出JSON数据,而不是正常输出。

  • 它允许在npm pkg set将设置值保存到您的package.json.

并非所有 npm 命令都支持。

key

  • 默认值:空
  • 类型:null 或 String

访问注册表时传递的客户端密钥。值应采用 PEM 格式,并用字符串“\n”替换换行符。例如:

ini
key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"
key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"

它不是密钥文件的路径(并且没有“keyfile”选项)。

legacy-bundling

  • 默认值:假
  • 类型:布尔值

使 npm 安装该软件包,以便 1.4 之前的 npm 版本(例如 Node 0.8 中包含的版本)可以安装该软件包。这消除了所有自动重复数据删除。如果与global-style此选项一起使用将是首选。

legacy-peer-deps

  • 默认值:假
  • 类型:布尔值

peerDependencies导致 npm在构建包树时完全忽略,如 npm 版本 3 到 6 中那样。

如果某个软件包由于peerDependencies冲突过于严格而无法安装,它提供了一种继续解决这种情况的方法。

这与 不同--omit=peer,因为--omit=peer它将避免peerDependencies在磁盘上解包,但仍会设计一棵树,以便peerDependencies 可以在正确的位置解包。

legacy-peer-deps不建议使用,因为它不会强制peerDependencies执行元依赖项可能依赖的契约。

  • 默认值:假
  • 类型:布尔值

与 一起使用npm ls,将输出限制为仅那些链接的包。

local-address

  • 默认值:空
  • 类型:IP 地址

连接到 npm 注册表时使用的本地接口的 IP 地址。在 0.12 之前的 Node 版本中必须是 IPv4。

location

  • 默认值:“user”,除非--global传递,这也会将此值设置为“global”
  • 类型:“全局”、“用户”或“项目”

当传递给npm config它时,它指的是要使用哪个配置文件。

loglevel

  • 默认值:“通知”
  • 类型:“silent”、“error”、“warn”、“notice”、“http”、“timing”、“info”、“verbose”或“silly”

要报告什么级别的日志。失败时,所有日志都会写入npm-debug.log当前工作目录。

显示高于设置级别的所有日志。默认为“通知”。

另请参阅foreground-scripts配置。

logs-max

  • 默认值:10
  • 类型:数字

要存储的日志文件的最大数量。

long

  • 默认值:假
  • 类型:布尔值

显示lssearch、 和中的扩展信息help-search

maxsockets

  • 默认值:15
  • 类型:数字

每个源使用的最大连接数(协议/主机/端口组合)。

message

  • 默认值:“%s”
  • 类型:字符串

npm version创建版本提交时使用的提交消息。

消息中的任何“%s”都将替换为版本号。

node-options

  • 默认值:空
  • 类型:null 或 String

通过环境变量传递到 Node.js 的选项NODE_OPTIONS。这不会影响 npm 本身的执行方式,但会影响生命周期脚本的调用方式。

node-version

  • 默认值:Node.jsprocess.version
  • 类型:SemVer 字符串

检查包的engines设置时使用的节点版本。

noproxy

  • 默认值:NO_PROXY 环境变量的值
  • 类型:String(可设置多次)

应绕过任何代理的域扩展。

还接受逗号分隔的字符串。

npm-version

  • 默认值:输出npm --version
  • 类型:SemVer 字符串

检查包engines设置时使用的 npm 版本。

offline

  • 默认值:假
  • 类型:布尔值

强制离线模式:安装期间不会执行任何网络请求。要允许 CLI 填充缺失的缓存数据,请参阅--prefer-offline

omit

  • 默认值:如果NODE_ENV环境变量设置为“生产”,则为“dev”,否则为空。
  • 类型:“dev”、“可选”或“peer”(可以设置多次)

要从磁盘上的安装树中省略的依赖项类型。

请注意,这些依赖项仍会被解析并添加到package-lock.jsonnpm-shrinkwrap.json文件中。它们只是没有物理安装在磁盘上。

如果包类型同时出现在--include--omit列表中,那么它将被包含在内。

如果生成的省略列表包含'dev',则所有生命周期脚本的NODE_ENV环境变量将设置为。'production'

otp

  • 默认值:空
  • 类型:null 或 String

这是来自双因素身份验证器的一次性密码。使用 发布或更改包权限时需要它npm access

如果未设置,并且注册表响应因询问一次性密码而失败,则 npm 将在命令行上提示输入密码。

pack-destination

  • 默认: ”。”
  • 类型:字符串

将保存 tarball 的目录npm pack

package

  • 默认:
  • 类型:String(可设置多次)

要安装的包npm exec

package-lock

  • 默认值:true
  • 类型:布尔值

如果设置为 false,则package-lock.json安装时忽略文件。这也会阻止写入 package-lock.jsonifsave为 true。

当包包锁被禁用时,无关模块的自动修剪也将被禁用。要删除禁用包锁的无关模块,请使用npm prune.

package-lock-only

  • 默认值:假
  • 类型:布尔值

如果设置为 true,则当前操作将仅使用package-lock.json, 忽略node_modules.

update意味着仅package-lock.json会更新,而不是检查node_modules和下载依赖项。

这意味着list输出将基于 描述的树package-lock.json,而不是 的内容node_modules

parseable

  • 默认值:假
  • 类型:布尔值

写入标准输出的命令输出可解析的结果。对于npm search,这将是制表符分隔的表格格式。

prefer-offline

  • 默认值:假
  • 类型:布尔值

如果为 true,则将绕过缓存数据的过时检查,但将从服务器请求丢失的数据。要强制完全离线模式,请使用--offline.

prefer-online

  • 默认值:假
  • 类型:布尔值

如果为 true,将强制对缓存数据进行过时检查,使 CLI 立即查找更新,即使是新的包数据也是如此。

prefix

  • 默认值:在全局模式下,安装节点可执行文件的文件夹。在本地模式下,包含 package.json 文件或 node_modules 文件夹的最近父文件夹。
  • 类型:路径

安装全局项目的位置。如果在命令行上设置,则会强制非全局命令在指定文件夹中运行。

preid

  • 默认: ””
  • 类型:字符串

用作 semver 的“预发布”部分前缀的“预发布标识符”。就像rc1.2.0-rc.8.

progress

  • 默认值:true除非在已知的 CI 系统中运行
  • 类型:布尔值

当设置为 时true,npm 将在时间密集型操作期间显示进度条(如果process.stderr是 TTY)。

设置false为抑制进度条。

proxy

  • 默认值:空
  • 类型:null、false 或 URL

用于传出 http 请求的代理。如果设置了HTTP_PROXYhttp_proxy环境变量,底层库将遵循代理设置request

read-only

  • 默认值:假
  • 类型:布尔值

这用于在使用命令配置受限访问令牌时将令牌标记为无法发布npm token create

rebuild-bundle

  • 默认值:true
  • 类型:布尔值

安装后重建捆绑的依赖项。

registry

npm 注册表的基本 URL。

save

  • 默认值:true
  • 类型:布尔值

将已安装的包作为依赖项保存到 package.json 文件中。

与该npm rm命令一起使用时,从 package.json 中删除依赖项。

save-bundle

  • 默认值:假
  • 类型:布尔值

如果在安装时使用--save--save-dev或保存软件包--save-optional,则也将其放入列表中bundleDependencies

如果--save-peer已设置,请忽略,因为无法捆绑peerDependency。

save-dev

  • 默认值:假
  • 类型:布尔值

将已安装的包保存到 package.json 文件中,命名为devDependencies.

save-exact

  • 默认值:假
  • 类型:布尔值

保存到 package.json 的依赖项将使用精确的版本进行配置,而不是使用 npm 的默认 semver 范围运算符。

save-optional

  • 默认值:假
  • 类型:布尔值

将已安装的包保存到 package.json 文件中,命名为optionalDependencies.

save-peer

  • 默认值:假
  • 类型:布尔值

保存已安装的软件包。到 package.json 文件作为peerDependencies

save-prefix

  • 默认值:“^”
  • 类型:字符串

--save配置如何通过或--save-dev获取前缀将软件包版本安装到 package.json 文件。

例如,如果某个软件包具有 version 1.2.3,则默认情况下其版本设置为^1.2.3允许对该软件包进行小幅升级,但之后npm config set save-prefix='~'将设置为~1.2.3仅允许补丁升级。

save-prod

  • 默认值:假
  • 类型:布尔值

将安装的包保存到dependencies专门的. devDependencies如果或中已存在包optionalDependencies,但您希望将其移至非可选生产依赖项,则这非常有用。

如果为 true,则这是默认行为--save,并且--save-dev或都不--save-optional为 true。

scope

  • 默认值:当前项目的范围(如果有)或“”
  • 类型:字符串

将操作与作用域注册表的作用域相关联。

登录或注销私有注册表时很有用:

bash
# log in, linking the scope to the custom registry
npm login --scope=@mycorp --registry=https://registry.mycorp.com

# log out, removing the link and the auth token
npm logout --scope=@mycorp
# log in, linking the scope to the custom registry
npm login --scope=@mycorp --registry=https://registry.mycorp.com

# log out, removing the link and the auth token
npm logout --scope=@mycorp

这将导致@mycorp映射到注册表,以便将来安装根据模式指定的包@mycorp/package

这也将导致npm init创建一个作用域包。

bash
# accept all defaults, and create a package named "@foo/whatever",
# instead of just named "whatever"
npm init --scope=@foo --yes
# accept all defaults, and create a package named "@foo/whatever",
# instead of just named "whatever"
npm init --scope=@foo --yes

script-shell

  • 默认值:POSIX 系统上为“/bin/sh”,Windows 上为“cmd.exe”
  • 类型:null 或 String

用于通过npm exec,npm runnpm init <pkg>命令运行脚本的 shell。

searchexclude

  • 默认: ””
  • 类型:字符串

以空格分隔的选项限制搜索结果。

searchlimit

  • 默认值:20
  • 类型:数字

限制搜索结果的项目数。根本不适用于遗留搜索。

searchopts

  • 默认: ””
  • 类型:字符串

始终传递给搜索的空格分隔选项。

searchstaleness

  • 默认值:900
  • 类型:数字

如果使用旧版搜索端点,则在发出另一个注册表请求之前的缓存寿命(以秒为单位)。

shell

  • 默认值:SHELL 环境变量,或 Posix 上的“bash”,或 Windows 上的“cmd.exe”
  • 类型:字符串

为命令运行的 shell npm explore

sign-git-commit

  • 默认值:假
  • 类型:布尔值

如果设置为 true,则该npm version命令将使用-S添加签名来提交新的包版本。

请注意,git 要求您在 git 配置中设置 GPG 密钥才能正常工作。

sign-git-tag

  • 默认值:假
  • 类型:布尔值

如果设置为 true,则该npm version命令将使用-s添加签名来标记版本。

请注意,git 要求您在 git 配置中设置 GPG 密钥才能正常工作。

strict-peer-deps

  • 默认值:假
  • 类型:布尔值

如果设置为true,并且--legacy-peer-deps未设置,则任何冲突peerDependencies都将被视为安装失败,即使 npm 可以根据非对等依赖关系合理猜测适当的解决方案。

默认情况下,peerDependencies依赖关系图中深层的冲突将使用最近的非对等依赖关系规范来解决,即使这样做会导致某些包接收超出其包peerDependencies对象中设置的范围的对等依赖关系。

当执行此类和覆盖时,会打印一条警告,解释冲突和涉及的包。如果--strict-peer-deps设置了,则此警告将被视为失败。

strict-ssl

  • 默认值:true
  • 类型:布尔值

通过 https 向注册表发出请求时是否进行 SSL 密钥验证。

另请参阅ca配置。

tag

  • 默认值:“最新”
  • 类型:字符串

如果你要求 npm 安装一个包并且不告诉它具体的版本,那么它会安装指定的标签。

如果没有给出显式标记,还有添加到命令指定的 package@version 的标记npm tag

当由命令使用时npm diff,这是用于获取默认情况下将与本地文件进行比较的 tarball 的标签。

tag-version-prefix

  • Default: "v"
  • 类型:字符串

如果设置,则在使用 执行版本增量时更改标记新版本时使用的前缀npm-version。要完全删除前缀,请将其设置为空字符串:""

由于其他工具可能依赖于 npm 版本标记的约定v1.0.0因此仅在绝对必要时才使用此属性。特别是,在覆盖公共包的此设置时要小心。

timing

  • 默认值:假
  • 类型:布尔值

如果为 true,则即使命令成功完成,也会将npm-debug日志_logs和计时信息写入缓存中。是一个换行符分隔的 JSON 对象列表。_timing.json``_timing.json

您可以使用以下json命令行快速查看它: npm exec -- json -g < ~/.npm/_timing.json

umask

  • 默认值:0
  • 类型:八进制数字字符串,范围 0000..0777 (0..511)

在文件和文件夹上设置文件创建模式时使用的“umask”值。

文件夹和可执行文件被赋予一种模式,该模式0o777根据该值进行屏蔽。其他文件被赋予一个根据该值屏蔽的模式0o666

请注意,底层系统还会自己的 umask 值应用于创建的文件和文件夹,并且 npm 不会规避这一点,而是将配置添加--umask到其中。

因此,大多数 POSIX 系统上的有效默认 umask 值为 0o22,这意味着文件夹和可执行文件使用 0o755 模式创建,其他文件使用 0o644 模式创建。

unicode

  • LC_ALL默认值:在 Windows 上为 false,在具有 unicode 语言环境的 mac/unix 系统上为 true,由、LC_CTYPE或环境变量定义LANG
  • 类型:布尔值

当设置为 true 时,npm 在树输出中使用 unicode 字符。当为 false 时,它使用 ascii 字符而不是 unicode 字形。

update-notifier

  • 默认值:true
  • 类型:布尔值

设置为 false 可以在使用比最新版本更旧的 npm 时抑制更新通知。

usage

  • 默认值:假
  • 类型:布尔值

显示有关指定命令的简短用法输出。

user-agent

  • 默认值:“npm/{npm-version} 节点/{node-version} {platform} {arch} 工作区/{workspaces} {ci}”
  • 类型:字符串

设置用户代理请求标头。以下字段将替换为其实际对应字段:

  • {npm-version}- 使用的npm版本
  • {node-version}- 使用的 Node.js 版本
  • {platform}- 的价值process.platform
  • {arch}- 的价值process.arch
  • {workspaces}-true如果设置了workspacesworkspace选项,则设置为。
  • {ci}- 配置的值ci-name(如果已设置)前缀为ci/,如果为空则为空字符串ci-name

userconfig

  • 默认值:“~/.npmrc”
  • 类型:路径

用户级配置设置的位置。

这可能会被npm_config_userconfig环境变量或--userconfig命令行选项覆盖,但可能不会globalconfig文件中的设置覆盖。

version

  • 默认值:假
  • 类型:布尔值

如果为true,则输出npm版本并成功退出。

仅当在命令行上明确指定时才相关。

versions

  • 默认值:假
  • 类型:布尔值

如果为 true,则输出 npm 版本以及节点的process.versions映射和当前工作目录文件中的版本package.json(如果存在),并成功退出。

仅当在命令行上明确指定时才相关。

viewer

  • 默认值:Posix 上为“man”,Windows 上为“browser”
  • 类型:字符串

用于查看帮助内容的程序。

设置为"browser"在默认 Web 浏览器中查看 html 帮助内容。

which

  • 默认值:空
  • 类型:空或数字

如果有多个资金来源,则打开其中1索引的来源URL。

workspace

  • 默认:
  • 类型:String(可设置多次)

允许在当前项目的已配置工作区上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。

配置的有效值为workspace

  • 工作区名称
  • 工作区目录的路径
  • 父工作区目录的路径(将导致选择所有嵌套工作区)

当设置该npm init命令时,可以将其设置为尚不存在的工作空间的文件夹,以创建该文件夹并将其设置为项目中的全新工作空间。

该值不会导出到子进程的环境中。

workspaces

  • 默认值:假
  • 类型:布尔值

允许在所有已配置工作区的上下文中运行命令。

该值不会导出到子进程的环境中。

yes

  • 默认值:空
  • 类型:空或布尔值

对 npm 可能在命令行上打印的任何提示自动回答“是”。

also

  • 默认值:空
  • 类型:null、“dev”或“development”
  • 已弃用:请改用 --include=dev 。

当设置为dev或 时development,这是 的别名--include=dev

auth-type

  • 默认值:“旧版”
  • 类型:“legacy”、“sso”、“saml”或“oauth”
  • 已弃用:这种 SSO/SAML/OAuth 方法已弃用,并将在 npm 的未来版本中删除,以支持基于 Web 的登录。

adduser/使用什么身份验证策略login

cache-max

  • 默认值:无穷大
  • 类型:数字
  • 已弃用:此选项已被弃用,取而代之的是--prefer-online

--cache-max=0 is an alias for --prefer-online

cache-min

  • 默认值:0
  • 类型:数字
  • 已弃用:此选项已被弃用,取而代之的是--prefer-offline.

--cache-min=9999 (or bigger)是 的别名--prefer-offline

dev

  • 默认值:假
  • 类型:布尔值
  • 已弃用:请改用 --include=dev 。

别名为--include=dev.

initauthoremail

  • 默认: ””
  • 类型:字符串
  • 已弃用:--init-author-email改为使用。

别名为--init-author-email

initauthorname

  • 默认: ””
  • 类型:字符串
  • 已弃用:--init-author-name改为使用。

别名为--init-author-name

initauthorurl

  • 默认: ””
  • 输入:“”或 URL
  • 已弃用:--init-author-url改为使用。

别名为--init-author-url

initlicense

  • 默认值:“ISC”
  • 类型:字符串
  • 已弃用:--init-license改为使用。

别名为--init-license

initmodule

  • 默认值:“~/.npm-init.js”
  • 类型:路径
  • 已弃用:--init-module改为使用。

别名为--init-module

initversion

  • 默认值:“1.0.0”
  • 类型:SemVer 字符串
  • 已弃用:--init-version改为使用。

别名为--init-version

only

  • 默认值:空
  • 类型:null、“prod”或“生产”
  • 已弃用:用于--omit=dev从安装中省略开发依赖项。

当设置为prod或 时production,这是 的别名--omit=dev

optional

  • 默认值:空
  • 类型:空或布尔值
  • 已弃用:用于--omit=optional排除或--include=optional包含可选依赖项。

除非另有省略,否则默认值会安装可选的依赖项。

--include=可选 或 --omit=可选 的别名

production

  • 默认值:空
  • 类型:空或布尔值
  • 已弃用:--omit=dev改为使用。

别名为--omit=dev

shrinkwrap

  • 默认值:true
  • 类型:布尔值
  • 已弃用:请改用 --package-lock 设置。

--package-lock 的别名

sso-poll-frequency

  • 默认值:500
  • 类型:数字
  • 已弃用:SSO/SAML/OAuth 的 --auth-type 方法将在 npm 的未来版本中删除,以支持基于 Web 的登录。

当与启用 SSO 的auth-types 一起使用时,配置在用户完成身份验证时轮询注册表的频率。

sso-type

  • 默认值:“oauth”
  • 类型:null、“oauth”或“saml”
  • 已弃用:SSO/SAML/OAuth 的 --auth-type 方法将在 npm 的未来版本中删除,以支持基于 Web 的登录。

如果--auth-type=sso,则为要使用的 SSO 类型。

tmp

从历史上看,临时文件的存储位置。不再相关。