CLI & Node.js Settings
命令行设置
[no-]color
- 默认值: auto
- 类型:auto、tcp、ipc
设置输出的颜色.
- auto - 当标准输出是终端或 TTY 时,输出会带有颜色。
- always - 忽略终端和 pipe 之间的区别。 你很少需要这个选项;在大多数情况下,如果您想在重定向的输出中使用颜色代码,你可以将
--color标志传递给 pnpm 命令以强制它输出颜色。 默认设置几乎总是您想要的。 - never - 关闭颜色. 这是
--no-color使用的设置。
loglevel
- 默认值: auto
- 类型:debug、info、warn、error
将显示大于等于给定级别的日志。
你可以改为传递 --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.packageManager 的 onFail 行为。
download— 下载并运行声明的 pnpm 版本(这是默认值,与之前的managePackageManagerVersions: true行为一致)。error— 命令失败(相当于之前的packageManagerStrictVersion: true)。warn— 打印警告但继续(相当于之前的packageManagerStrict: false或COREPACK_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
pmOnFail: ignore
此设置取代了已移除的 managePackageManagerVersions、packageManagerStrict 和 packageManagerStrictVersion 设置,以及 COREPACK_ENABLE_STRICT 环境变量。
迁移:
| 已移除的设置 | 替换为 |
|---|---|
managePackageManagerVersions: true | pmOnFail: download(默认) |
managePackageManagerVersions: false | pmOnFail: ignore |
packageManagerStrict: false | pmOnFail: warn |
packageManagerStrictVersion: true | pmOnFail: error |
COREPACK_ENABLE_STRICT=0 | pmOnFail: 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 文件中使用 nodeVersion 和 engineStrict:
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 下载声明的运行时:
runtimeOnFail: download
nodeDownloadMirrors
添加于:v11.0.0
- 默认值:undefined
- 类型:** Record <string, string>**
在 pnpm-workspace.yaml 中配置自定义 Node.js 下载镜像。 键名是发布通道 (release、rc、nightly 、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/