npm-install-test

安装包并运行测试

选择 CLI 版本

摘要

npm install-test [<package-spec> ...]
alias: it

描述

此命令运行 npm install,然后立即运行 npm test。它接受与 npm install 完全相同的参数。

配置

save

  • 默认:true,除非使用 npm update,在这种情况下默认为 false
  • 类型:布尔值

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

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

如果设置为 false,也会阻止写入 package-lock.json

save-exact

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

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

global

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

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

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

install-strategy

  • 默认:“hoisted”
  • 类型:“hoisted”、“nested”、“shallow” 或“linked”

设置在 node_modules 中安装包的策略。hoisted(默认):在顶层安装未重复的包,并在目录结构中根据需要重复安装。nested:(以前为 --legacy-bundling)就地安装,不进行提升。shallow(以前为 --global-style)仅在顶层安装直接依赖项。linked:(实验性)安装到 node_modules/.store 中,就地链接,不进行提升。

legacy-bundling

  • 默认:false
  • 类型:布尔值
  • 已弃用:此选项已弃用,取而代之的是 --install-strategy=nested

不要在 node_modules 中提升包安装,而是以与它们被依赖的方式相同的方式安装包。这可能会导致非常深的目录结构和重复的包安装,因为没有去重。设置 --install-strategy=nested

global-style

  • 默认:false
  • 类型:布尔值
  • 已弃用:此选项已弃用,取而代之的是 --install-strategy=shallow

仅在顶层 node_modules 中安装直接依赖项,但在更深层的依赖项上进行提升。设置 --install-strategy=shallow

omit

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

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

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

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

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

include

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

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

这是 --omit=<type> 的反面。

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

strict-peer-deps

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

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

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

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

prefer-dedupe

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

如果可能,优先对包进行去重,而不是选择依赖项的更新版本。

package-lock

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

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

package-lock-only

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

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

对于 update,这意味着只有 package-lock.json 会被更新,而不是检查 node_modules 并下载依赖项。

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

foreground-scripts

  • 默认值:false,除非使用 npm packnpm publish,在这种情况下默认为 true
  • 类型:布尔值

在前景进程中运行所有已安装包的构建脚本(例如,preinstallinstallpostinstall),与主 npm 进程共享标准输入、输出和错误。

请注意,这通常会使安装速度变慢,并产生更多噪音,但这对于调试非常有用。

ignore-scripts

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

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

请注意,明确用于运行特定脚本的命令,例如 npm startnpm stopnpm restartnpm testnpm run-script,如果设置了 ignore-scripts,它们仍然会运行其目标脚本,但它们不会运行任何前置或后置脚本。

audit

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

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

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

告诉 npm 为包可执行文件创建符号链接(或在 Windows 上创建 .cmd shim)。

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

fund

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

当为 "true" 时,在每次 npm install 结束时显示一条消息,确认正在寻找资助的依赖项数量。有关详细信息,请参阅 npm fund

dry-run

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

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

注意:其他与网络相关的命令(例如 dist-tagsowner 等)不会遵守此设置。

cpu

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

覆盖要安装的本机模块的 CPU 架构。可接受的值与 package.json 的 cpu 字段相同,该字段来自 process.arch

os

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

覆盖要安装的本机模块的操作系统。可接受的值与 package.json 的 os 字段相同,该字段来自 process.platform

libc

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

覆盖要安装的本机模块的 libc。可接受的值与 package.json 的 libc 字段相同。

workspace

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

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

对于 workspace 配置,有效值为:

  • 工作区名称
  • 工作区目录的路径
  • 父工作区目录的路径(将导致选择该文件夹中的所有工作区)

当为 npm init 命令设置时,这可以设置为尚未存在的工作区的文件夹,以创建文件夹并将其设置为项目中的一个全新工作区。

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

workspaces

  • 默认值:null
  • 类型:null 或 Boolean

设置为 true 以在 **所有** 配置的工作区的上下文中运行命令。

明确将此设置为 false 将导致像 install 这样的命令完全忽略工作区。当未明确设置时,

  • node_modules 树进行操作的命令(install、update 等)将链接工作区到 node_modules 文件夹中。 - 执行其他操作的命令(test、exec、publish 等)将在根项目上运行,*除非* workspace 配置中指定了一个或多个工作区。

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

include-workspace-root

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

在为命令启用工作区时,包含工作区根目录。

当为 false 时,通过 workspace 配置指定单个工作区,或通过 workspaces 标志指定所有工作区,将导致 npm 仅在指定的工作区上运行,而不是在根项目上运行。

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

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

当设置 file: 协议依赖项时,它们将被打包并作为常规依赖项安装,而不是创建符号链接。此选项对工作区没有影响。

参见