跳到主内容
版本:11 & 12

CLI & Node.js Settings

命令行设置

[no-]color

  • 默认值: auto
  • 类型:autotcpipc

设置输出的颜色.

  • auto - 当标准输出是终端或 TTY 时,输出会带有颜色。
  • always - 忽略终端和 pipe 之间的区别。 你很少需要这个选项;在大多数情况下,如果您想在重定向的输出中使用颜色代码,你可以将 --color 标志传递给 pnpm 命令以强制它输出颜色。 默认设置几乎总是您想要的。
  • never - 关闭颜色. 这是 --no-color 使用的设置。

loglevel

  • 默认值: auto
  • 类型:debuginfowarnerror

将显示大于等于给定级别的日志。 你可以改为传递 --silent 来关闭所有输出日志。

useBetaCli

  • 默认值: false
  • 类型:Boolean

启用 CLI 测试版功能的实验性选项。 这意味着你使用的 CLI 功能可能会有一些不兼容的更改或潜在错误的更改。

recursiveInstall

  • 默认值:true
  • 类型:Boolean

如果启用此选项,则 pnpm install 的行为将变为 pnpm install -r,这意味着在所有工作区或子目录包上执行安装操作。

否则,pnpm install 将只在当前目录中构建包。

engineStrict

  • 默认值: false
  • 类型:Boolean

如果启用该选项,pnpm 将不安装任何声明与当前 Node 版本不兼容的包。

但无论该属性设置成什么值,如果项目(不是依赖项)在其 engines 字段中指定了不兼容的版本,则安装将始终失败。

npmPath

  • 类型:路径

Pnpm 用于某些操作(例如发布)的 npm 的二进制文件的位置。

pmOnFail

添加于:v11.0.0

  • 默认值: download
  • 类型:download, error, warn, ignore

当运行的 pnpm 版本与声明的版本不匹配时,覆盖 packageManager 字段和 devEngines.packageManageronFail 行为。

  • download — 下载并运行声明的 pnpm 版本(这是默认值,与之前的 managePackageManagerVersions: true 行为一致)。
  • error — 命令失败(相当于之前的 packageManagerStrictVersion: true)。
  • warn — 打印警告但继续(相当于之前的 packageManagerStrict: falseCOREPACK_ENABLE_STRICT=0)。
  • ignore — 完全跳过检查(相当于之前的 managePackageManagerVersions: false)。 当版本管理由外部工具处理时很有用,如 asdf、mise 或 Volta。

可以通过 CLI 标志、环境变量或 pnpm-workspace.yaml 文件进行设置:

pnpm install --pm-on-fail=ignore
pnpm_config_pm_on_fail=ignore pnpm install
pnpm-workspace.yaml
pmOnFail: ignore

此设置取代了已移除的 managePackageManagerVersionspackageManagerStrictpackageManagerStrictVersion 设置,以及 COREPACK_ENABLE_STRICT 环境变量。

迁移:

已移除的设置替换为
managePackageManagerVersions: truepmOnFail: download(默认)
managePackageManagerVersions: falsepmOnFail: ignore
packageManagerStrict: falsepmOnFail: warn
packageManagerStrictVersion: truepmOnFail: error
COREPACK_ENABLE_STRICT=0pmOnFail: warn

See also pnpm with for running pnpm at a specific version without changing this setting.

ignoreWorkspaceRootCheck

  • 默认值: false
  • 类型:Boolean

如果启用此功能,则从项目根目录运行 pnpm install/pnpm add 时,如果未提供 -w/--ignore-workspace-root-check ,则不会再出错。

Node.js 设置

nodeVersion

  • 默认值:node -v 的返回值,不带 v 前缀
  • 类型:精确的 semver 版本(不是范围)

检查程序包的 engines 设置时使用的 Node.js 版本

如果你想阻止项目的贡献者添加新的不兼容的依赖项,请在项目根目录的 .npmrc 文件中使用 nodeVersionengineStrict

nodeVersion: 12.22.0
engineStrict: true

This way, even if someone is using Node.js v22, they will not be able to install a new dependency that doesn't support Node.js v12.22.0.

runtimeOnFail

添加于:v11.0.0

  • 默认值:undefined
  • 类型:download, error, warn, ignore

Overrides the onFail field of devEngines.runtime (and engines.runtime) in the root project's package.json. 当你希望本地行为与清单文件中编写的行为不同时,这非常有用——例如,即使清单文件中设置了 onFail: "warn",也强制 pnpm 下载声明的运行时:

pnpm-workspace.yaml
runtimeOnFail: download

nodeDownloadMirrors

添加于:v11.0.0

  • 默认值:undefined
  • 类型:** Record <string, string>**

pnpm-workspace.yaml 中配置自定义 Node.js 下载镜像。 键名是发布通道 (releasercnightly v8-canary等) 值是基础 URL。

以下是如何配置 pnpm 从中国镜像下载 Node.js:

nodeDownloadMirrors:
release: https://npmmirror.com/mirrors/node/
rc: https://npmmirror.com/mirrors/node-rc/
nightly: https://npmmirror.com/mirrors/node-nightly/